使用 JavaScript 进行 Alt 属性编码
Html 实体必须在图像的 alt 属性中进行编码 HTML 页面。所以
<img id="formula" alt="A → B" src="formula.png" />
会运作良好。
另一方面,相同的 JavaScript 代码将不起作用
document.getElementById('formula').alt = 'A → B';
并会产生 A → B 而不是 A → B。
当无法将特殊(未编码)字符放入源代码中时,如何通过 JavaScript 做到这一点?
Html entities must be encoded in alt attribute of an image in HTML page. So
<img id="formula" alt="A → B" src="formula.png" />
will work well.
On the other hand, the same JavaScript code will not work
document.getElementById('formula').alt = 'A → B';
and will produce A → B instead of A → B.
How to do it through JavaScript, when it is not possible to put the special (unencoded) characters in the source code?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
JavaScript 有自己的系统来转义字符串中的特殊字符:
JavaScript has its own system for escaping special characters in strings:
如果您无法使用 Unicode 格式保存文件,可以使用以下替代方法:
但是,这需要您使用数字表示形式。在本例中
→
。Here's an alternative if you can't save your file using a Unicode format:
However, this requires you to use the numeric representation. In this case
→
.归功于 JavaScript 源代码。
编辑:我将原始代码更改为仅在
元素上使用
innerHTML
,而不是innerHTML
和Credits to The JavaScript Source.
EDIT: I changed the original code to only use
innerHTML
on a<p>
element, instead ofinnerHTML
andvalue
of a<textarea>
.在这种特殊情况下,您没有在 JavaScript 中对特殊 HTML 字符进行编码。
W3C 验证器不应抱怨这一点(只是对其进行了测试)并且文档应该进行验证。如果没有发布您的代码,我将更新我的答案。
In that particular case, you don't have encode special HTML characters in JavaScript.
The W3C validator should not complain about this (just tested it) and the document should validate. If not post your code and I'll update my answer.