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

问题描述:

需要知道如果一个HTML元素可以有ID的的多种属性,例如: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" /> 

比语法,我问不同。

+1

请参阅此链接(相同问题在*):http://*.com/questions/192048/can-an-html-element-have-multiple-ids – Rubyist

+0

请通过[这个答案和评论](http ://*.com/a/5685221/309086)上面提到的类似问题。 –

需要知道如果一个HTML元素可以有ID的

简答的多个属性? 不,因为浏览器只会呈现第一个。

请参阅this Fiddle,我只能使用DOM中出现的第一个id在CSS中进行定位。尝试更改该CSS选择器以使用第二个id,它将无法工作。

这是因为它看起来像第二个ID被浏览器忽略,因为这是输出HTML:

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

如果你真的需要一个元素上附加标签,你应该考虑使用或者多类名或数据属性以对应于其他数据。

+0

查询数据属性值的性能如何?现代浏览器版本在查找ID方面非常高效,它如何与数据属性进行比较? – matanster

+2

http://jsfiddle.net/S9R8Y/72/多个id像空间一样工作 – jt3k

需要知道如果一个HTML元素可以有ID的

号的多个属性在HTML元素没有可能具有给定属性的一个以上的实例。

正如我需要澄清这种说法

注意在声明的最后一句话。

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

文献语言可能包含被声明为类型ID

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

+2

@mattytommo无法定位它,因为第二个ID不在DOM中的元素上。另外,元素上有多个ID是无效的HTML。 – lifetimes

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

+0

我确保id始终是唯一的整个文档,一个元素可以有多个唯一的id,我应该改述我的问题。 –

+0

我还没有尝试过任何元素的这个多个ID。但假设第一个单词将作为该元素的唯一ID。例如:,那么在这种情况下,我认为浏览器会通过转义test3来查看test1作为id。不确定。 – Rubyist

没有ID不能相同的HTML元素,但这些类用于多个元素,一个元素可以有多个类

不,即使您指定多个ID,第一个遇到的ID属性被使用。

可能的重复:

Can an html element have multiple ids?

+0

它是唯一可能的重复,但它不在字面意义上 –

+1

当我在Chrome和IE上都验证时,只有第一个id属性是保留。你不能使用其他的id属性 –

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

很难看出为什么你会使用重复的id属性,所以我不能建议一种解决方法。通常,对于id属性的任何正常使用,每个元素的一个属性就足够了。