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

Sla*_*ake 3 html rfc separator

IE:

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

空格和/href是和之间的两个有效分隔符class。

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

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

Bol*_*ock 5

HTML 几十年来一直没有在 RFC 文档中得到维护。您可以找到两个稍微不兼容的规范,一个是W3C TR,另一个由 WHATWG 维护。大多数浏览器都遵循两者之间模糊的交集。

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

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

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