我正在使用jQuery,我只是想知道,ID在整个页面中是否必须始终是唯一的?我知道,班级可以重复多次,ID怎么样?
答案 0 :(得分:40)
是的,它必须是唯一的。
HTML4:
https://www.w3.org/TR/html4/struct/global.html#h-7.5.2
第7.5.2节:
id = name [CS] 此属性为元素指定名称。该名称在文档中必须是唯一的。
HTML5:
https://www.w3.org/TR/html5/dom.html#element-attrdef-global-id
id属性指定其元素的唯一标识符(ID)。该 value必须在元素的主子树中的所有ID中唯一 并且必须至少包含一个字符。该值不得包含 任何空格字符。
答案 1 :(得分:8)
https://developer.mozilla.org/en/DOM/element.id
所以我想最好是......
答案 2 :(得分:3)
浏览器过去对此很宽松(很多年前,当css很年轻时)并且允许ID不止一次使用。他们变得更加严格。
但是,是的ID是唯一的,只能使用一次。
如果您需要多次使用css格式,请使用CLASS。
答案 3 :(得分:2)
答案 4 :(得分:2)
从技术上讲,HTML5标准ID必须在页面上唯一 - https://developer.mozilla.org/en/DOM/element.id
但是我已经在非常模块化的网站上工作,这完全被忽略了,而且它有效。它是有道理的 - 最令人惊讶的部分。
我们称之为“组件化”
例如,您的页面上可能有一个组件,这是一种小部件。它里面有自己独特的ID,例如“ok-button”
一旦页面上有许多这些小部件,您在技术上就会有无效的HTML。但是组件化你的小部件是完全合理的,这样他们每个人都可以在内部引用他们自己的ok按钮,例如,如果使用jquery从它自己的根搜索它可能是:$widgetRoot.find("#ok-button")
这对我们有用,虽然技术上不应该使用ID,一旦它们不是唯一的。
如上所述,即便是YouTube,也不是叛徒。
答案 5 :(得分:1)
是的,ID是唯一的。上课不是。
答案 6 :(得分:1)
ID必须始终是唯一的。
每个人都有一个唯一标识号(例如社会安全号码),社交类中有很多人
答案 7 :(得分:1)
这基本上就是身份证的重点。 :) ID是特定的,每页只能使用一次。可以高兴地使用课程。
答案 8 :(得分:1)
使用Javascript,您只能使用ID引用一个元素。 document.getElementById
和jQuery的$
选择器将仅返回第一个匹配的元素。因此,在多个元素上使用相同的ID是没有意义的。
答案 9 :(得分:0)
One tidbit not mentioned above如果有几个相同的id
s同一页(即使违反了标准,也会发生这种情况):
如果你必须解决这个问题(那很难过),你可以使用
$("*#foo")
来说服jQuery使用getElementsByTagName
并返回所有匹配元素的列表。
答案 10 :(得分:0)
ID在整个页面中必须唯一吗??
由于the HTML Living Standard 2019年12月6日,明确指出:
可以在所有HTML元素上指定
class
,id
和slot
属性。 ……。 在HTML元素上指定时,id
属性值在元素的树 中的所有ID中必须唯一,并且必须至少包含一个字符。
和页面可能有几个 DOM树 。例如,当您将Element.attachShadow()
附加(shadow DOM tree)到元素上时,就会这样做。
ID在整个页面中必须唯一吗??
否。
ID在DOM树中必须唯一吗??
是的