我知道ID是独一无二的,但我有一个简单的问题。
您可以在不同的元素上使用相同的ID名称吗?例如,我可以:
input#idname
a#idname
...等?相同的ID,不同的元素,只要我通过jQuery中的元素标记来调用它们:
$("a#idname")
$("input#idname")
等?
感谢。
答案 0 :(得分:5)
ID是唯一的,ID只应在网页上存在一次。您使用该ID的元素与您的情况无关。
答案 1 :(得分:2)
如果您不关心文档是否有效,可以。但是有理由关注有效性:如果您的文档不符合要求,则无法保证JavaScript能够满足您的要求。
HTML 5表示document.getElementById(id)
返回具有给定ID的第一个元素。我没有看到任何要求querySelectorAll
(jQuery可以使用)处理重复ID的方法与此不同,而在HTML 5之前,行为完全未定义。
如果您关心兼容性并保持JS简单明了,请保持您的ID唯一。
答案 2 :(得分:1)
你应该为每个元素使用唯一的ID。 CSS和DOM使用它来识别元素。重复的ID可能会产生一些错误。
来自W3C:
id属性指定HTML元素的唯一ID(值 在HTML文档中必须是唯一的。)
id属性最常用于指向样式表中的样式, 并通过JavaScript(通过HTML DOM)来操纵元素 具体的身份。