我似乎无法在alt标签中使用javascript分配特殊字符,并让它们在任何浏览器中呈现。
没有javascript,alt标签中的特殊字符可以很好地呈现(Pepsi™):
<img id="pic" src="path/to/image.jpg" alt="Pepsi™" />
然而,当你通过javascript或jquery分配这个相同的值时,你会得到(可乐™
)。
$("#pic").attr("alt","Coke™")
或image = document.getElementById('pic'); image.alt="Pepsi™"
此问题存在于chrome和IE6中;我没有尝试过其他浏览器。有什么想法吗?
答案 0 :(得分:2)
首先,您应该将该文本放在“title”属性中,而不是“alt”。 “alt”属性应包含无法显示图像时显示的文本。 “title”属性提供了渲染代理可以在其认为合适时使用的解释性文本,而天桥文本是其中的主要示例。使用您的示例,“alt”属性可能是“百事可乐徽标”,而“标题”则是花哨的值。 (在这种情况下,没有太大区别,但重点是这两个属性的目的确实完全不同。)
如果您需要通过Javascript获取这些特殊字符,则必须使用\uNNNN
之类的Javascript转义提供Unicode值,其中“NNNN”是十六进制数字。我认为商标符号例如是"\u00AE"
作为Javascript字符串。
答案 1 :(得分:0)
尝试 -
$( “#PIC”)ATTR( “ALT”, “焦炭\ u2122”);