O. *_*dze 6 html javascript css unicode utf-8
这就是我的 html 代码的样子:
<html>
<style>
body {
font-size: 18px;
}
</style>
<body>
<span id="tiger" style='font-size:100px;'>💡</span>
<button id="btn">SET TIGER</button>
<script>
document.getElementById('btn').addEventListener('click', function (e) {
document.getElementById('tiger').innerText = `🦁`;
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,并且🦁在单击按钮时仅显示而不是表情符号。这是为什么,如何动态设置表情符号?
HTML 转义
HTML 转义如“” 在解析源文档时由 HTML 解析器进行解码。
要设置文本节点的内容,请使用 JavaScript 字符串 - 从技术上讲,该字符串以 UTF-16 编码。
JavaScript 字符串
如果您知道 UTF-16 中字符的十六进制表示形式,您 可以使用转义字符串设置文本节点内容,例如
element.textContent = "\ud83d\udca1"; // not recommended.
Run Code Online (Sandbox Code Playgroud)
如果您知道十六进制或十进制的 Unicode 值,则可以使用静态 StringfromCodePoint方法:
element.textContent = String.fromCodePoint( 0x1f4a1) // or
element.textContent = String.fromCodePoint( 128161 )
Run Code Online (Sandbox Code Playgroud)
另一种选择是在 JavaScript 中使用带有大括号的 unicode 转义来转义 6 个十六进制字符代码:
element.textContent = '\u{01f4a1}'; // still not recommended
Run Code Online (Sandbox Code Playgroud)
不过,我推荐的方法是在保存时将 HTML 文件编码为 UTF-8,并在代码中使用标准字符串值设置文本内容:
element.textContent = ''
Run Code Online (Sandbox Code Playgroud)
当然,代码编辑器对 Unicode 字体的支持有限,这使得这有点困难。
指定字符编码
正如评论中提到的,HTML 文件中使用的字符编码可以在使用非 ASCII 字符之前在 head 部分的顶部指定。放置元标记
<meta charset="utf-8">
Run Code Online (Sandbox Code Playgroud)
紧接在开始<html>标签之后即可实现此目的。
虽然 HTML5 中的默认编码是“utf-8”,但旧移动设备上的浏览器可能仍然需要使用上面的元标记。有关更多详细信息,请参阅三年前的这个问题。
小智 1
<html>
<style>
body {
font-size: 18px;
}
</style>
<body>
<span id="tiger" style='font-size:100px;'>💡</span>
<button id="btn">SET TIGER</button>
<script>
var code = '129409';
//
document.getElementById('btn').addEventListener('click', function (e) {
document.getElementById('tiger').innerText = String.fromCodePoint(parseInt(code));;
});
</script>
</body>
</html>Run Code Online (Sandbox Code Playgroud)
请检查以下内容,希望您的疑问得到解决。
<html>
<style>
body {
font-size: 18px;
}
</style>
<body>
<span id="tiger" style='font-size:100px;'>💡</span>
<button id="btn">SET TIGER</button>
<script>
var code = '129409';
//
document.getElementById('btn').addEventListener('click', function (e) {
document.getElementById('tiger').innerText = String.fromCodePoint(parseInt(code));;
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3678 次 |
| 最近记录: |