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

时间:2013-06-05 09:21:40

标签: html selector

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

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

因为我需要澄清这篇关于W3 website选择器的陈述。

  

如果元素具有多个ID属性,则必须处理所有这些属性   作为ID选择器用途的该元素的ID。这样的   使用xml:id,DOM3 Core,XML的混合可以达到这种情况   DTD和特定于命名空间的知识。

人们所指的可能重复,说明了这种语法的问题

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

这与我要求的语法不同。

6 个答案:

答案 0 :(得分:25)

  

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

简短回答? 否,因为浏览器只会渲染第一个。

请参阅this Fiddle,我只能使用DOM中显示的第一个id在CSS中定位它。尝试更改该CSS选择器以使用第二个id,它将无效。

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

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

如果您确实需要元素上的其他标识符,则应考虑使用多个类名或数据属性来对应其他数据。

答案 1 :(得分:6)

  

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

没有。 HTML中的任何元素都不能包含给定属性的多个实例。

  

我需要澄清这个陈述

请注意该陈述中的最后一句。

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

  

文档语言可能包含声明为ID

类型的属性

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

答案 2 :(得分:4)

不,即使您指定了多个ID,也会使用第一个遇到的id属性。

可能重复:

Can an html element have multiple ids?

答案 3 :(得分:1)

对于html元素, ID 不能相同,但是Classes用于多个元素,而一个元素可能有多个类

答案 4 :(得分:1)

不,因为标签中不得重复属性。这是HTML中的一般规则,不仅限于id属性。对于名义上基于SGML的HTML版本和XHTML,这遵循一般的SGML和XML规则。对于HTML序列化HTML5,请参阅HTML5 CR, 8.1.2.3 Attributes

很难理解为什么要使用重复的id属性,因此我无法建议解决方法。通常,对于id属性的任何正常使用,每个元素一个属性就足够了。

答案 5 :(得分:0)

没有。元素ID在整个文档中应该是唯一的。