【发布时间】:2012-02-08 04:42:09
【问题描述】:
我无法理解在 javascript 的 html 标记属性值中如何进行转义。
我被引导相信你应该总是逃避 & ' " 。所以我尝试将 javascript 作为属性值:
<a href="javascript:alert('Hello');"></a>
它不起作用。然而:
<a href="javascript:alert('Hello');"></a>
和
<a href="javascript:alert('Hello');"></a>
适用于所有浏览器!
现在我完全糊涂了。如果我所有的属性值都用双引号括起来,这是否意味着我不必转义单引号?还是 apos 和 ascii 39 在技术上是不同的字符?这样javascript需要ascii 39,而不是apos?
【问题讨论】:
-
好的,我刚刚发现 '尽管 w3schools 说 (w3.org/TR/1998/REC-html40-19980424/sgml/entities.html),它实际上并不是 HTML 中的引用实体
-
我认为
&apos;定义良好,因为HTML 5.0。