&
和&
之间的区别是什么?
像下面的代码一样,它们是否以相同的方式工作?
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
&
是正确的 - 但像许多事情一样,Web开发人员无视了这个不方便的规则,并在各处写裸的&符号。对于他们来说,浏览器只是“做正确的事情”,将这些&符号解释为&符号。 HTML5标准化了这种行为,因此现在只要后面的内容不像实体引用,&
本身就被允许使用。&
是HTML中特殊字符&
的转义字符,因为&
在HTML中有特殊含义,用作特殊字符的信号。虽然大多数浏览器会对无效HTML进行处理,使得href="&"
可以使用,但从技术上讲这是不正确的。你应该使用&
,因为这个实体将在HTML代码中被转换成&
。"
而不是&
,那么这将结束href
的值并使HTML不正确。你应该使用"
。&
后面没有命名字符引用,那么使用它是可以的,但是有很多这样的情况;理想情况下,你应该自动转义属性输入。&
是 HTML 实体(编码形式)表示的 &
,用于描述在某些语言中 & 符号有特殊含义的情况,比如 XML。
HTML 渲染工具,比如浏览器,在源代码中看到 &
会渲染为 &
&
指定为实体标记,而 HTML5 则明确禁止了“模糊的和号”(ambiguous ampersands)。这在规范的“HTML 语法”部分有详细说明。 - undefined