我知道 ID 是唯一的,但我有一个简单的问题。
您可以在不同的元素上使用相同的 ID 名称吗?例如,我是否可以:
input#idname
a#idname
...ETC?相同的 ID,不同的元素,只要我在 jQuery 中通过它们的元素标签调用它们:
$("a#idname")
$("input#idname")
ETC?
谢谢。
ID 应该是唯一的,并且 ID 应该在网页上只存在一次。您使用 ID 的元素与您的情况无关。
你可以,如果你不关心你的文件是否有效。但是关心有效性是有原因的:如果您的文档不符合要求,则无法保证 JavaScript 会按照您的意愿行事。
HTML 5 表示document.getElementById(id)
返回具有给定 ID 的第一个元素。我还没有看到任何要求querySelectorAll
(jQuery 在可以时使用)以不同方式处理重复 ID 的东西,而且在 HTML 5 之前,这种行为是完全未定义的。
如果您关心兼容性并保持您的 JS 简单明了,请保持您的 ID 唯一。
您应该为每个元素使用唯一的 ID。CSS 和 DOM 使用它来识别元素。重复的 ID 可能会产生一些错误。
来自W3C:
id 属性为 HTML 元素指定一个唯一的 id(该值在 HTML 文档中必须是唯一的)。
id 属性最常用于指向样式表中的样式,并通过 JavaScript(通过 HTML DOM)来操作具有特定 id 的元素。