我有一个HTML元素,我想通过Javascript修改。它包含一个特殊字符©
。
如果我单独留下HTML,我会得到我所期望的。在原始状态下,它是
<li id="cp">© MyCompany</li>
然后该行呈现为“©MyCompany”。
我希望自动更新它以在日历更改时显示一系列年份,因此我在文档的onload()函数中添加了一些Javascript。
var today = new Date();
var cptext = "© 2011-" + today.getFullYear().toString() + " MyCompany";
$('#cp').text(cptext);
但是,当页面加载时,©
会保留原始文本,因此用户会看到原始$copy; 2011-2015 MyCompany
而不是我想要的内容,即“©2011-2015 MyCompany” 。自动日期范围代码工作正常,但正常的符号替换消失了。
当我使用jQuery / Javascript修改DOM元素时,如何在静态HTML中更新符号?
我没有选择将整个HTML页面重新编码为PHP。
答案 0 :(得分:1)
var today = new Date();
var cptext = "© 2011-" + today.getFullYear().toString() + " MyCompany";
$('#cp').html(cptext);
您需要改为使用$.html(htmlstring)
。
http://api.jquery.com/text/#entry-examples
text()删除任何html并仅返回文本。这就像使用element.innerHTML vs element.innerText