ID在整个页面中必须唯一吗?


69

我正在使用jQuery,我只是想知道,ID是否在整个页面中必须始终是唯一的?我知道,您可以根据需要将课程重复多次,ID呢?


2
id属性通常仅使用一次,因为ID是唯一的
Ryan

2
如果您认为可以覆盖ID的定义,则无法覆盖。
Narayana Nagireddi 2012年

8
为什么每个人都不赞成这个问题?我可以肯定,这很简单,但这不是拒绝投票的理由,您应该继续前进...
nodrog 2012年

1
@nodrog人们在这里不知道downvote的含义。...我Upvotd。
罗伊·纳米尔

Answers:




7

ID在整个页面中必须唯一吗?

没有。

因为2019年12月6日HTML生活标准 明确指出:

classidslot属性可以在所有的HTML元素指定。……。在HTML元素上指定时,id属性值在元素树的所有ID中必须是唯一的,并且必须至少包含一个字符。

一个页面可以有多个DOM树。例如,当您将(Element.attachShadow()影子DOM树附加到元素上时,它就会执行此操作。

文档树及其底层的影子树


TL; 博士

ID在整个页面中必须唯一吗?

没有。

ID在DOM树中是否必须唯一?

是。


4

2018年1月,这是Youtube HTML,您可以看到id =“ button” id =“ info”已重复。

在此处输入图片说明


4

从技术上讲,按照HTML5标准,该ID在页面上必须是唯一的-https: //developer.mozilla.org/en/DOM/element.id

但是我在极端模块化的网站上工作,在该网站上它被完全忽略并且可以正常工作。这是有道理的-最令人惊讶的部分。

我们称之为“组件化”

例如,您的页面上可能有一个组件,它是某种小部件。它内部具有自己的唯一ID,例如“确定按钮”

一旦页面上有许多这些小部件,从技术上来讲,您将具有无效的HTML。但是将组件进行组件化是非常有意义的,以便它们在内部各自引用自己的ok按钮,例如,如果使用jquery从其自己的根目录进行搜索,则可能是:$widgetRoot.find("#ok-button")

这对我们有用,尽管从技术上讲,一旦ID不是唯一的,就完全不应该使用ID。

如上所述,即使YouTube也是这样做的,所以它并不是那么叛逆。


3

浏览器过去对此宽容(许多年前是CSS刚成立时),并且允许多次使用ID。他们变得更加严格。

但是,是的ID是唯一的,并且只能使用一次。

如果您需要多次使用CSS格式,请使用CLASS。


2

基本上,这就是ID的重点。:) ID是特定的,每页只能使用一次。可以根据需要使用类。


1

ID必须始终是唯一的。

每个人都有一个唯一的身份证号码(例如社会安全号码),并且社会阶层中有很多人


1

使用Javascript,您只能使用ID引用一个元素。document.getElementById并且jQuery的$选择器将仅返回第一个匹配的元素。因此,在多个元素上使用相同的ID毫无意义。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.