JQuery:如何插入HTML ASCII字符的文本?

15

我有以下 JQuery 代码:

$(this).text('Options ▴');

然而,ASCII码并没有显示在我的网页上。网页上只显示了Options ▴

我做错了什么?

5个回答

40

使用.html()方法,而不是.text()

.text()方法的整个意义在于使文本以字符串中实际的形式展现出来,包括所有的标签和实体。


发现这个真的很有用。帮助了我。 - AdRock

3
如果您使用Unicode转义符('\u25B2')而不是HTML转义字符,则可以使用.text方法。
一些用户可能没有能够显示任何版本的字体。

是的,.text('\u25B2') 可能比 .html('▲') 的支持性更差,这是一个缺点。但其中一个优点是,如果有任何可能字符串来自不受信任的来源(例如用户输入),那么.text().html() 更安全。参考链接 - Bob Stein

2
..或者如果有人想仅使用JavaScript:
var d = document.createElement("div");
d.appendChild(document.createTextNode("500"));
var euro = document.createElement("span");
euro.innerHTML = "€"; //your character
d.appendChild(euro);

打印机:500欧元


2

&#x25B4 明显不是ASCII(ASCII是从0到127的字符编码...!-),它似乎是一个高页Unicode字符。你的页面使用什么字符编码?如果使用“通用”的UTF-8,Unicode字符应该会显示...当然,如果浏览器有这些字符的字体。对于其他编码,这些字符可能无法传输和显示。


这是一个箭头三角形。疯狂的是,如果我在HTML中输入"Options ▴",那么Unicode字符就会显示出来。但是,如果我通过JavaScript编写代码,Unicode就不会显示。 - JGreig

0
你可以尝试这个:
$(this).html('Options ▴');

输出:

Options ▴

如果你想在线测试它,可以查看这个网站。(我非常喜欢它)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接