超文本标记语言中有效的属性分隔符是什么?

3

I.E:

  • <a href="foo.com" class="bar">
  • <a /href="foo.com" /class="bar">

空格/hrefclass之间的两个有效分隔符。

  • 在哪个RFC中定义了这个问题?
  • 其他有效属性分隔符是什么?

示例:https://jsfiddle.net/yeg58qun/


4
你是从哪里看到 / 是一个有效的属性分隔符的? - BoltClock
https://jsfiddle.net/yeg58qun/ - Slake
1个回答

5

HTML已经几十年没有在RFC文档中进行维护。您可以找到两个略微不兼容的规范,一个是W3C TR,另一个是由WHATWG维护。大多数浏览器遵循它们自己模糊的两者交集。

唯一有效的属性分隔符是空格。这在规范中没有明确说明,但在验证标记时可能触发的解析错误之一称为missing-whitespace-between-attributes

如果解析器遇到未用ASCII空格分隔的属性(例如<div id="foo"class="bar">),则会出现此错误。在这种情况下,解析器的行为就像存在ASCII空格一样。

最后一句话也可以解释为什么您的标记似乎按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接