在HTML中执行此操作是错误的吗?

时间:2013-08-07 19:21:43

标签: jquery html

我知道ID是独一无二的,但我有一个简单的问题。

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

input#idname a#idname

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

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

等?

感谢。

3 个答案:

答案 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)来操纵元素   具体的身份。