为什么我不能使用js在img title属性中设置ascii引用?

时间:2011-05-04 22:17:19

标签: javascript html ascii

我在图片标题中使用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="&reg;" /></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 = "&reg;";
</script>

感谢。

2 个答案:

答案 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符号。