我知道在HTML/XHTML页面中id必须是唯一的。

对于一个给定的元素,我可以给它分配多个id吗?

<div id="nested_element_123 task_123"></div>

我意识到我有一个简单的解决方案,只需使用一个类。我只是好奇以这种方式使用id。


当前回答

Nay.

从3.2.3.1的id属性:

不能包含空格。

id="a b" <——查找该VaLuE中的空格字符。

也就是说,可以对多个id进行样式化。但如果您遵循规范,答案是否定的。

其他回答

不。虽然W3C对HTML 4的定义似乎没有明确地涵盖您的问题,但name和id属性的定义表明标识符中没有空格:

ID和NAME令牌必须以字母([a- za -z])开头,后面可以是任意数量的字母、数字([0-9])、连字符("-")、下划线("_")、冒号(":")和句号(".")。

ID应该是唯一的,所以您应该在一个页面上只使用特定ID一次。类可以重复使用。

查看HTML id属性(W3Schools)了解更多详细信息。

不,如果你想沿着那条路径走,你应该使用嵌套的div。此外,即使您可以,想象一下当您运行document.getElementByID()时它会引起的混乱。如果有多个ID,它会抓取哪个ID ?

在稍微相关的主题中,您可以向DIV中添加多个类。

http://meyerweb.com/eric/articles/webrev/199802a.html

不。来自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.

不,单个标记不能有多个id,但我见过带有name属性和id属性的标记,一些应用程序对它们的处理是相同的。