&
和&
有什么区别?HTML5中的&和&有什么区别?
像在代码波纹管,都工作在相同的方式?
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
&
和&
有什么区别?HTML5中的&和&有什么区别?
像在代码波纹管,都工作在相同的方式?
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a>
&
为&
的HTML实体(编码形式),用来描述语言&符号,其中一个与符号实际上意味着什么,如XML。
HTML渲染工具,如浏览器,会看到在源&
但渲染&
&
是&
的HTML特殊字符,它具有特殊的含义为sigial的HTML特殊字符。 href="&"
的工作原理是大多数浏览器提供的便利,它们可以很好地处理无效的HTML,但在技术上却是不正确的。您希望使用&
,因为该实体将在HTML代码中转换为&
。
请考虑您是否使用了"
而不是&
。这将结束href
值,并使HTML不正确,对不对?你想使用"
。 “
请参阅:http://www.w3.org/html/wg/drafts/html/master/single-page.html#syntax-errors”涉及脆弱语法结构的错误“ - 实际上它指出如果没有命名字符引用后面使用&
就没有问题,但其中有很多;理想情况下,您会自动跳过属性输入。
在HTML5中,它们在该示例中是等效的。传统上,在HTML中,只有&
是正确的 - 但与许多事情一样,web开发者轻松地忽略了这个不便规则,并在任何地方都写下了直接的&符号。就他们而言,浏览器只是“做了正确的事情”,并将这些&符号解释为&符号。 HTML5标准化了这种行为,所以现在只要&
自身允许,只要以后看起来不像实体引用。
你能指出规范中这种行为的标准化吗?我现在看... –
@ExplosionPills:它实际上是以一种倒退的方式。传统的HTML只是将'&&'指定为实体标记,而HTML5则专门禁止“不明确的&符号”。它位于规范的“HTML语法”部分。 – Chuck
@ExplosionPills-*行为*(与允许或禁止的内容相对)如下:http://www.w3.org/html/wg/drafts/html/master/syntax.html#consume-a-character -reference – Alohci