我正在使用jQuery,我只是想知道,ID在整个页面中是否必须始终是唯一的?我知道,班级可以重复多次,ID怎么样?
Fat*_*ror 45
是的,它必须是独一无二的.
HTML4:
http://www.w3.org/TR/html4/struct/global.html
第7.5.2节:
id = name [CS]此属性为元素指定名称.该名称在文档中必须是唯一的.
HTML5:
http://www.w3.org/TR/html5/dom.html#the-id-attribute
id属性指定其元素的唯一标识符(ID).该值必须在元素的主子树中的所有ID中唯一,并且必须至少包含一个字符.该值不得包含任何空格字符.
Кон*_*Ван 16
ID在整个页面中必须是唯一的吗?
因为2021 年 2 月 25 日的HTML 生活标准 明确指出:
的
class
,id
和slot
属性可以在所有的HTML元素指定。……. 在 HTML 元素上指定时,id
属性值在元素树中的所有 ID 中必须是唯一的,并且必须至少包含一个字符。
和一个页面可以有多个DOM树。例如,当您将 ( Element.attachShadow()
) 一个shadow DOM 树附加到一个元素时。
ID在整个页面中必须是唯一的吗?
不。
ID在 DOM 树中必须是唯一的吗?
是的。
小智 6
浏览器曾经对此很宽容(很多年前,当 css 还很年轻时)并允许 ID 多次使用。他们变得更加严格。
然而,是的,ID 必须是唯一的并且只能使用一次。
如果您需要多次使用 css 格式,请使用 CLASS。
2018 年 1 月,这是 Youtube HTML ,您可以看到id="button" id="info"是重复的。
从技术上讲,根据 HTML5 标准 ID 在页面上必须是唯一的 - https://developer.mozilla.org/en/DOM/element.id
但是我曾在极其模块化的网站上工作过,在那里这完全被忽略并且可以工作。这是有道理的——最令人惊讶的部分。
我们称之为“组件化”
例如,您的页面上可能有一个组件,它是某种小部件。它里面有自己独特的 ID 的东西,例如“确定按钮”
一旦页面上有许多这些小部件,从技术上讲,您的 HTML 是无效的。但是将您的小部件组件化是非常有意义的,以便它们每个在内部都引用自己的 ok 按钮,例如,如果使用 jquery 从它自己的根进行搜索,它可能是:$widgetRoot.find("#ok-button")
这对我们有用,但从技术上讲,一旦它们不是唯一的,就不应该使用 ID。
如上所述,即使是 YouTube 也这样做了,所以它并没有那么叛逆。