&
和&
之间的区别是什么?
在下面的代码中,是否都以相同的方式工作?
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
答案 0 :(得分:4)
&
是&
的html特殊字符,它具有特殊含义,即html特殊字符的sigial。 href="&"
的工作原理是大多数浏览器都给予了方便,可以正确处理无效的HTML,但技术上不正确。您想使用&
,因为该实体将在HTML代码中转换为&
。
考虑您是否使用"
而不是&
。这将结束href
值并使HTML不正确,对吧?您想使用"
。
请参阅:http://www.w3.org/html/wg/drafts/html/master/single-page.html#syntax-errors“涉及脆弱语法结构的错误” - 实际上它指出如果没有命名的字符引用,则使用&
是可以的,但是其中有很多;理想情况下,您或多或少会自动转义属性输入。
答案 1 :(得分:4)
在HTML5中,它们在该示例中是等效的。传统上,在HTML中,只有&
才是正确的 - 但正如许多事情一样,网络开发人员轻率地忽略了这个不方便的规则,并在各地编写了裸露的&符号。对于他们来说,浏览器只是“做了正确的事情”并将这些&符号解释为&符号。 HTML5对此行为进行了标准化,因此,只要后面的内容看起来不像实体引用,现在只允许&
。
答案 2 :(得分:0)
&
是&
的html实体(编码形式),用于描述&符号实际上意味着什么的语言中的&符号。
HTML呈现工具(如浏览器)会在源代码中看到&
,但会呈现&