我知道在HTML/XHTML页面中id必须是唯一的。
对于一个给定的元素,我可以给它分配多个id吗?
<div id="nested_element_123 task_123"></div>
我意识到我有一个简单的解决方案,只需使用一个类。我只是好奇以这种方式使用id。
我知道在HTML/XHTML页面中id必须是唯一的。
对于一个给定的元素,我可以给它分配多个id吗?
<div id="nested_element_123 task_123"></div>
我意识到我有一个简单的解决方案,只需使用一个类。我只是好奇以这种方式使用id。
当前回答
与别人说的相反,正确的答案是肯定的
Selectors规范对此非常清楚:
如果一个元素有多个ID属性,为了ID选择器的目的,所有这些属性都必须被视为该元素的ID。这种情况可以混合使用xml:id、DOM3 Core、xml dtd和特定于名称空间的知识来实现。
Edit
澄清一下:是的,一个XHTML元素可以有多个id,例如:
<p id="foo" xml:id="bar">
但是使用空格分隔的列表将多个id分配给同一个id属性是不可能的。
其他回答
这很有趣,但据我所知,答案肯定是否定的。我不明白为什么您需要一个嵌套ID,因为您通常会与具有相同嵌套ID的另一个元素交叉。如果你不做,那就没有意义,如果你做了,那也没什么意义。
不,单个标记不能有多个id,但我见过带有name属性和id属性的标记,一些应用程序对它们的处理是相同的。
ID应该是唯一的,所以您应该在一个页面上只使用特定ID一次。类可以重复使用。
查看HTML id属性(W3Schools)了解更多详细信息。
不。来自XHTML 1.0规范
In XML, fragment identifiers are of type ID, and there can only be a single attribute of type ID per element. Therefore, in XHTML 1.0 the id attribute is defined to be of type ID. In order to ensure that XHTML 1.0 documents are well-structured XML documents, XHTML 1.0 documents MUST use the id attribute when defining fragment identifiers on the elements listed above. See the HTML Compatibility Guidelines for information on ensuring such anchors are backward compatible when serving XHTML documents as media type text/html.
与别人说的相反,正确的答案是肯定的
Selectors规范对此非常清楚:
如果一个元素有多个ID属性,为了ID选择器的目的,所有这些属性都必须被视为该元素的ID。这种情况可以混合使用xml:id、DOM3 Core、xml dtd和特定于名称空间的知识来实现。
Edit
澄清一下:是的,一个XHTML元素可以有多个id,例如:
<p id="foo" xml:id="bar">
但是使用空格分隔的列表将多个id分配给同一个id属性是不可能的。