一个 HTML 元素可以有多个唯一的 ID 属性吗?

新手上路,请多包涵

需要知道 HTML 元素是否 可以具有 ID 的多个属性,例如:

 <input type="text" id="identifier1" id="selector1" />

因为我需要 澄清W3 网站上 提到的关于选择器的声明。

如果一个元素有多个 ID 属性,那么出于 ID 选择器的目的,所有这些属性都必须被视为该元素的 ID。可以使用 xml:id、DOM3 核心、XML DTD 和名称空间特定知识的混合来达到这种情况。

人们提到的 Possible duplicates,陈述了这个语法的问题

<input type="text" id="identifier1 selector1" />

这与我要问的语法不同。

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

阅读 2.1k
2 个回答

需要知道 HTML 元素是否可以具有 ID 的多个属性

简短的回答? 不会,因为浏览器只会呈现第一个。

看到 这个 Fiddle ,我只能使用出现在 DOM 中的第一个 id 在 CSS 中定位它。尝试更改该 CSS 选择器以使用第二个 id ,它不起作用。

这是因为浏览器似乎忽略了第二个 ID,因为这是输出 HTML:

 <input type="text" id="identifier1">

如果你真的需要一个元素上额外的标识符,你应该考虑使用多个类名或数据属性来对应额外的数据。

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

需要知道 HTML 元素是否可以具有 ID 的多个属性

不可以。HTML 中的任何元素都不能拥有超过一个给定属性的实例。

因为我需要澄清这个声明

请注意该声明中的最后一句话。

另请注意,“ID 属性”的 CSS 概念不是“名称为 id 的属性”。还引用该文件:

文档语言可能包含声明为 ID 类型的属性

只有 id 属性是 HTML 中的 ID 类型。

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

推荐问题