ID是否必须在整个页面中是唯一的?

新手上路,请多包涵

我正在使用 jQuery,我只是想知道,ID 是否必须在整个页面中始终是唯一的? Class,我知道,可以重复多次,ID呢?

原文由 good_evening 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 794
2 个回答

是的,它必须是独一无二的。

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)。该值在元素的主子树中的所有 ID 中必须是唯一的,并且必须至少包含一个字符。该值不得包含任何空格字符。

原文由 FatalError 发布,翻译遵循 CC BY-SA 4.0 许可协议

一个 ID 在整个页面中 是否必须是唯一的?

不。

因为2022 年 3 月 15 日 HTML Living Standard 明确指出:

classidslot 属性可以在所有 HTML元素 上指定。 …….在 HTML 元素 上指定时, id 属性值 在元素 中的所有 ID 中必须是唯一的, 并且必须至少包含一个字符。该值不得包含任何 _ASCII 空格_。

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

文档树及其底层影子树


TL; DR

一个 ID 在整个页面中 是否必须是唯一的?

不。

ID 在 DOM 树中必须是唯一的 吗?

是的。

原文由 Константин Ван 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题