我无法理解在html标记属性值内部如何转义工作。 。在html标记属性值内部转义
我带领相信你应该总是逃脱&“”<>因此,对于JavaScript作为一个属性值我想:
<a href="javascript:alert('Hello');"></a>
它不工作,但是:
<a href="javascript:alert('Hello');"></a>
和
<a href="javascript:alert('Hello');"></a>
确实在所有浏览器的工作!
现在我完全糊涂了。如果我的所有属性值都用双引号引起来,这是否意味着我不必转义单引号?或者是和技术上不同的字符?这样的JavaScript需要ascii 39,但不是?
好吧,我刚刚发现'实际上并不是HTML中的参考实体,尽管w3schools说了什么(http://www.w3.org/TR/1998/REC-html40-19980424/sgml/entities.html ) – Myforwik 2012-02-08 04:51:40
我认为'''自[HTML 5.0](https://www.w3.org/TR/html50/syntax.html#named-character-references)开始就有明确定义。 – 2018-01-26 15:50:47