特殊字符在更新的DOM元素中表现为转义

时间:2015-10-15 18:55:30

标签: javascript jquery

我有一个HTML元素,我想通过Javascript修改。它包含一个特殊字符©

如果我单独留下HTML,我会得到我所期望的。在原始状态下,它是

<li id="cp">&copy; MyCompany</li>

然后该行呈现为“©MyCompany”。

我希望自动更新它以在日历更改时显示一系列年份,因此我在文档的onload()函数中添加了一些Javascript。

var today = new Date();
var cptext = "&copy; 2011-" + today.getFullYear().toString() + " MyCompany";
$('#cp').text(cptext);

但是,当页面加载时,&copy;会保留原始文本,因此用户会看到原始$copy; 2011-2015 MyCompany而不是我想要的内容,即“©2011-2015 MyCompany” 。自动日期范围代码工作正常,但正常的符号替换消失了。

当我使用jQuery / Javascript修改DOM元素时,如何在静态HTML中更新符号?

我没有选择将整个HTML页面重新编码为PHP。

1 个答案:

答案 0 :(得分:1)

var today = new Date();
var cptext = "&copy; 2011-" + today.getFullYear().toString() + " MyCompany";
$('#cp').html(cptext);

您需要改为使用$.html(htmlstring)

http://jsfiddle.net/uffghLz6/

http://api.jquery.com/text/#entry-examples

text()删除任何html并仅返回文本。这就像使用element.innerHTML vs element.innerText