我在图片标题中使用ascii字符引用(®
)时遇到问题。当你通过html体设置它时它工作正常,但是当试图通过javascript做同样的事情时不起作用。
检查sscce:
<style type="text/css">body {background-color:black;}</style>
<script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>
<p>this image has the correct ascii character title:<br /><img src="http://www.prototypejs.org/images/logo-home.gif" id="img1" title="®" /></p>
<p>but why can't I set the same value via javascript?<br /><img src="http://www.prototypejs.org/images/logo-home.gif" id="img2" /></p>
<script type="text/javascript">
$("img2").title = "®";
</script>
感谢。
答案 0 :(得分:2)
$(“img2”)。title =“®”应该有效,如果不使用
$(“img2”)。title ='\ u00AE'。
html实体不会翻译为纯文本。
答案 1 :(得分:1)
http://paulschreiber.com/blog/2008/09/20/javascript-how-to-unescape-html-entities/
有很多答案但它的基本要点是你设置节点的文本而不是html,所以没有html实体。
但是,您可以设置隐藏对象的innerHTML并读取其文本值。或者假设您的源编码允许它直接输入reg符号。