0

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

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

input#idname a#idname

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

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

ETC?

谢谢。

4

3 回答 3

5

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

于 2013-08-07T19:23:34.260 回答
2

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

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

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

于 2013-08-07T19:25:46.780 回答
1

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

来自W3C

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

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

于 2013-08-07T19:25:10.227 回答