为什么我不能让这个实体代码在浏览器中正确显示?

时间:2013-07-05 01:58:52

标签: javascript jquery character-encoding html-entities

我正在尝试编写一个英镑符号,以便通过JavaScript将其写入文档,但它的代码未被翻译,而是显示为已输入。

请参阅此JSBin http://jsbin.com/orocox/1/edit

这是JavaScript:

$("#price").text('£ 1.99');

这是html:

<!DOCTYPE html>
<html>
<head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
  <meta charset=utf-8 />
  <title>JS Bin</title>
</head>
<body>
  <span id="price"></span>
</body>
</html>

这是结果: '&amp; pound(;)1.99'

*注意';'周围的括号由我添加,以防止实体代码在StackOverflow上被转换,但它们在实际输出中不存在。

我想要的结果是: '£1.99'。

3 个答案:

答案 0 :(得分:4)

改为使用unicode:jsbin

$("#price").text('\u00A3 1.99');

说明:&pound;是一个html实体,不作为普通文本处理。但unicode适用于任何文本。因为您正在使用text,所以它将被处理为字符串而非html。

检查此页面的编码参考: here

答案 1 :(得分:2)

请尝试$("#price").html('&pound; 1.99');

答案 2 :(得分:0)

使用角色本身:

$("#price").text('£ 1.99');

这有利于代码的可读性。键入“£”的方式取决于您的编辑环境。例如,在Windows上,如果找不到更方便的方法(取决于键盘,键盘布局和使用的编辑器),可以通过键入Alt 0163来生成它。