2013-04-02 73 views
3

&&有什么区别?HTML5中的&和&有什么区别?

像在代码波纹管,都工作在相同的方式?

<a href="mailto:EMAIL?subject=BLABLABLA&body=http://URL, SHORT DESCRIPTION"></a> 
<a href="mailto:EMAIL?subject=BLABLABLA&amp;body=http://URL, SHORT DESCRIPTION"></a> 

回答

0

&amp;&的HTML实体(编码形式),用来描述语言&符号,其中一个与符号实际上意味着什么,如XML。

HTML渲染工具,如浏览器,会看到在源&amp;但渲染&

4

&amp;&的HTML特殊字符,它具有特殊的含义为sigial的HTML特殊字符。 href="&"的工作原理是大多数浏览器提供的便利,它们可以很好地处理无效的HTML,但在技术上却是不正确的。您希望使用&amp;,因为该实体将在HTML代码中转换为&

请考虑您是否使用了"而不是&。这将结束href值,并使HTML不正确,对不对?你想使用&quot;。 “

请参阅:http://www.w3.org/html/wg/drafts/html/master/single-page.html#syntax-errors”涉及脆弱语法结构的错误“ - 实际上它指出如果没有命名字符引用后面使用&就没有问题,但其中有很多;理想情况下,您会自动跳过属性输入。

3

在HTML5中,它们在该示例中是等效的。传统上,在HTML中,只有&amp;是正确的 - 但与许多事情一样,web开发者轻松地忽略了这个不便规则,并在任何地方都写下了直接的&符号。就他们而言,浏览器只是“做了正确的事情”,并将这些&符号解释为&符号。 HTML5标准化了这种行为,所以现在只要&自身允许,只要以后看起来不像实体引用。

+0

你能指出规范中这种行为的标准化吗?我现在看... –

+1

@ExplosionPills:它实际上是以一种倒退的方式。传统的HTML只是将'&&'指定为实体标记,而HTML5则专门禁止“不明确的&符号”。它位于规范的“HTML语法”部分。 – Chuck

+1

@ExplosionPills-*行为*(与允许或禁止的内容相对)如下:http://www.w3.org/html/wg/drafts/html/master/syntax.html#consume-a-character -reference – Alohci