【问题标题】:Is it wrong to do this in HTML? [duplicate]在 HTML 中这样做是错误的吗? [复制]
【发布时间】:2013-08-09 08:07:18
【问题描述】:

我知道 ID 是唯一的,但我有一个简短的问题。

您可以在不同的元素上使用相同的 ID 名称吗?例如,我可以:

input#idname a#idname

...等等?相同的 ID,不同的元素,只要我在 jQuery 中通过元素标签调用它们即可:

$("a#idname") $("input#idname")

等等?

谢谢。

【问题讨论】:

  • 问题是你为什么要这样做?标准的重点是让浏览器之间的行为保持一致。
  • 如果您遇到这种情况,您将不得不从根本上进行创新!
  • 你可以,当然,但我认为你绝对不应该。

标签: jquery html


【解决方案1】:

ID 应该是唯一的,并且一个 ID 应该在网页上只存在一次。您使用 ID 的元素与您的情况无关。

【讨论】:

    【解决方案2】:

    您应该为每个元素使用唯一的 ID。 CSS 和 DOM 使用它来识别元素。重复的 ID 可能会产生一些错误。

    来自W3C

    id 属性为 HTML 元素指定一个唯一的 id(值 在 HTML 文档中必须是唯一的)。

    id 属性最常用于指向样式表中的样式, 并通过 JavaScript(通过 HTML DOM)来操作元素 具体的id。

    【讨论】:

      【解决方案3】:

      可以,如果你不关心你的文件是否有效。但是关心有效性是有原因的:如果您的文档不符合要求,则无法保证 JavaScript 会按照您的意愿行事。

      HTML 5 说document.getElementById(id) 返回具有给定 ID 的第一个元素。我还没有看到任何要求querySelectorAll(jQuery 在可以时使用)处理重复 ID 的方式与此不同,而且在 HTML 5 之前,这种行为是完全未定义的。

      如果您关心兼容性并保持 JS 简单明了,请保持您的 ID 唯一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-22
        • 1970-01-01
        • 1970-01-01
        • 2020-05-24
        • 2019-08-09
        • 1970-01-01
        • 1970-01-01
        • 2018-01-16
        相关资源
        最近更新 更多