我知道W3C recommends要“使用”& amp;“(ASCII十进制38)而不是”&“以避免与字符引用的开头混淆”,并且整洁警告“未转义的& amp; amp; amp; amp; amp; amp; amp; amp;但是,这些警告是不能承受的,写下(比方说)“Tiffany& Co.”是有效的。而不是更多的谨慎“蒂芙尼&公司”?
我知道上面的例子在我尝试的所有浏览器中都按预期呈现(即相同),但这是语言律师的语法问题。在我看来,只要表达不是“& blah;”的形式,它就应该是合法的。 (如果不写“< blah>”,则使用尖括号相同。)
顺便说一句,跳过< / li>的事实并不被视为警告,而未转义为&'s,则说明了HTML语法的不一致性。事实上,如果我们要依赖解析器的智能,省略一个< / ul> (例如)如果(未完成的)列表是文档的最后一部分应该没问题:没有< / ul>,没有< / body>,没有< / html> ......没有可能的歧义,对吧?
PS:我刚刚发现(明智的)未转义的尖括号在整理中没有产生警告,但被W3C的validator检测为错误,而未转义的&符号在两个地方都发出警告。去图......答案 0 :(得分:4)
无效?是。 HTML标记内的免费&符号将导致解析器错误。
现代浏览器可以忽略错误并正确解析吗?最有可能。
但 格式错误的HTML。