我了解ID在HTML / XHTML页面内必须唯一。
我的问题是,对于给定的元素,我可以为其分配多个ID吗?
<div id="nested_element_123 task_123"></div>
我意识到我只需使用一个类就可以轻松解决问题。我只是好奇以这种方式使用id。
我了解ID在HTML / XHTML页面内必须唯一。
我的问题是,对于给定的元素,我可以为其分配多个ID吗?
<div id="nested_element_123 task_123"></div>
我意识到我只需使用一个类就可以轻松解决问题。我只是好奇以这种方式使用id。
http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2
id属性为元素分配一个唯一标识符(可以由SGML解析器验证)。
和
ID和NAME令牌必须以字母([A-Za-z])开头,然后可以跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _”) ,冒号(“:”)和句点(“。”)。
因此,“ id”必须唯一且不能包含空格。
不,您不能为单个标签具有多个ID,但是我看到了带有name
属性的标签和id
一些应用程序将其视为相同的属性。
每个元素只能有一个ID,但实际上可以有多个类。但是没有多个类属性,请将多个类值放入一个属性中。
<div id="foo" class="bar baz bax">
是完全合法的。
我的理解一直是:
ID是一次性使用的,仅适用于一个元素...
类可以多次使用 ...
相反的是其他人说,正确的答案是YES
该选择器的规格是非常清楚这一点:
如果一个元素具有多个ID属性,则出于ID选择器的目的,必须将所有这些属性都视为该元素的ID。使用xml:id,DOM3 Core,XML DTD和特定于命名空间的混合可以达到这种情况知识。
编辑
只是为了澄清一下:是的,一个XHTML元素可以有多个id,例如
<p id="foo" xml:id="bar">
但是无法id
使用以空格分隔的列表将多个ID分配给同一属性。
不会。 虽然w3c中HTML 4 的定义似乎没有明确涵盖您的问题,但是name和id属性的定义表明标识符中没有空格:
ID和NAME令牌必须以字母([A-Za-z])开头,然后可以跟任意数量的字母,数字([0-9]),连字符(“-”),下划线(“ _”) ,冒号(“:”)和句点(“。”)。
否。根据XHTML 1.0规范
在XML中,片段标识符的类型为ID,每个元素只能有一个类型为ID的属性。因此,在XHTML 1.0中,将id属性定义为ID类型。为了确保XHTML 1.0文档是结构良好的XML文档,当在上述元素上定义片段标识符时,XHTML 1.0文档必须使用id属性。有关确保在将XHTML文档作为媒体类型text / html提供服务时确保此类锚向后兼容的信息,请参见HTML兼容性指南。
不,如果要沿着该路径行驶,则应使用嵌套的DIV。此外,即使可以,也请想象一下在运行document.getElementByID()时会造成的混乱。如果有多个ID,它将获取什么ID?
在一个稍微相关的主题上,您可以将多个类添加到DIV中。请参阅以下网址的Eric Myers讨论:
http://meyerweb.com/eric/articles/webrev/199802a.html