&,&,&所有在html中表现相似。怎么样和为什么?

时间:2012-03-24 08:19:48

标签: html entity special-characters ampersand

P&G  
P&ampG  
P&G 

所有这些都是一样的。是否仅对javascript / url使用特殊实体?

3 个答案:

答案 0 :(得分:6)

他们的意思不一样。

P&G包含未定义的实体引用&G,验证器会告诉您。浏览器对这些引用的作用是字面上对它们进行处理。如果浏览器开始识别新实体,可能会发生奇怪的事情。他们现在正在这样做,因为添加了entities as per HTML5 drafts。顺便说一句,&G不在其中。

P&ampG是一个非常类似的情况,除了一些解析器损坏的浏览器可能错误地将&amp部分视为&字符。

P&G是一个正确的符号,代表P& G。

这与JavaScript无关,与URL无关,一般不包括HTML文档内容。 URL中经常需要使用&符号,但这不会使问题成为URL问题。 JavaScript代码通常写在script元素内,其中可能会应用特殊的解析规则,具体取决于HTML版本,但这取决于元素的内容模型。 (style元素是类似的情况。)

答案 1 :(得分:1)

为获得最佳效果,您应始终使用完整格式&。周期。

嗯,除了具有CDATA内容类型的环境。在HTML中,这将是<script><style><xmp><listing>等元素。在XHTML中,仅在显式CDATA块中,用<![CDATA[分隔.. ]]>

如果您没有完整地编写参考文献,并非所有浏览器都会以您希望的方式显示它,如果您无意中写了诸如“选择并复制和粘贴”之类的内容,您可能会遇到麻烦。

答案 2 :(得分:1)

没有。甚至HTML也不理解它们,因此它们被称为特殊字符。

但是,现代浏览器会为您纠正错误。 (现代浏览器更正的例子):

创建扩展名为.htm | .html的文档,并在输入<h1>hi!</h1>后保存在文档中。你将能够看到一些标题。这应该是错的......(回到主题)

这些小吸盘有数百个。但最重要的是,尽量遵循标准:

  1. 帮助您的同事更好地理解您的代码。
  2. 只是因为您的浏览器允许您这样做是旧借口。
  3. 你甚至不记得怎么会遇到麻烦?
  4. 在完整参考或http://www.w3schools.com/tags/ref_entities.asp
  5. 中阅读

    尝试在浏览器中编写<>10<20<>时,它会告诉您新的现代浏览器,如果旧的,谁知道会发生什么?