12

如何在 Javascript/jQuery 警报中显示带有特殊字符(如 €)的字符串?

例如:我想显示一个带有“价格为 10 欧元”的消息框

但是当我使用下面的代码时:

alert("The Price is €10");

消息框中显示的输出是"The Price is €10",我希望我的输出是"The Price is €10"

有人可以帮我解决这个问题吗?提前致谢。

4

3 回答 3

17

将此用作警报。对我来说很好。

alert(' The Price is \u20AC 10');

描述在这里: http: //leftlogic.com/projects/entity-lookup/

于 2013-01-31T09:53:58.280 回答
7

本机alert方法不解码 HTML 编码的实体。

但是浏览器在渲染 HTML 时会这样做。一种技巧是创建一个带有特定文本的 HTML 元素innerHTML(因此它进行字符处理),然后取回其text属性并发出警报。

function alertSpecial(msg) {
    msg = $('<span/>').html(msg).text();
    alert(msg);
}
alertSpecial('The Price is &euro;10');

这将适用于浏览器可以显示的所有 &xxx 字符,而无需找出您可能想要使用的每个特殊字符的字符代码。

于 2013-01-31T09:54:00.767 回答
2

查看 :

alert("The Price is \u20AC 10");

http://jsfiddle.net/Nseum/

Unicode 字符“欧元符号”(U+20AC)

于 2013-01-31T09:58:36.677 回答