代码之家  ›  专栏  ›  技术社区  ›  sudoExclamationExclamation

当规则说“在HTML文档中不能有多个具有相同id的元素”时,为什么允许使用具有重复id的HTML?复制

  •  -5
  • sudoExclamationExclamation  · 技术社区  · 2 年前

    我正在查看黑客新闻的HTML。例如这篇文章:

    https://news.ycombinator.com/item?id=39241448

    在HTML中 tr 具有 athing 类具有相同的 id 作为展开/折叠按钮 a 要素

    enter image description here

    规则规定:

    https://www.w3schools.com/html/html_id.asp

    HTML文档中不能有多个具有相同id的元素。

    我是误解了规则还是这不是有效的HTML?

    1 回复  |  直到 2 年前
        1
  •  0
  •   smallpepperz    2 年前

    这违反了“规则”,这是正确的,但HTML解析器往往会宽容(如果可以的话)。如果此页面试图以某种方式使用该ID( document.getElementById("39241834") ),行为将不清楚,但浏览器仍然能够呈现此无效的HTML,并且页面仍然“工作”

    您可以在上阅读更多关于浏览器为什么接受无效HTML的信息 this question