一个 HTML 元素可以有多个 id 吗?

新手上路,请多包涵

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

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

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

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

原文由 webmat 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
2 个回答

否。来自 XHTML 1.0 规范

在 XML 中,片段标识符属于 ID 类型,并且每个元素只能有一个 ID 类型的属性。因此,在 XHTML 1.0 中,id 属性被定义为 ID 类型。为了确保 XHTML 1.0 文档是结构良好的 XML 文档,XHTML 1.0 文档必须在上面列出的元素上定义片段标识符时使用 id 属性。有关在将 XHTML 文档作为媒体类型 text/html 提供服务时确保此类锚向后兼容的信息,请参阅 HTML 兼容性指南。

原文由 timmow 发布,翻译遵循 CC BY-SA 3.0 许可协议

与其他人所说的相反,正确答案是 YES

选择器规范 对此非常清楚:

如果一个元素有多个 ID 属性,那么为了 ID 选择器的目的,所有这些都必须被视为该元素的 ID。这种情况可以通过混合使用 xml:id、DOM3 核心、XML DTD 和特定于名称空间的方式来实现知识。


编辑

澄清一下:是的,一个 XHTML 元素可以有多个 id,例如

<p id="foo" xml:id="bar">

但是将多个 ID 分配给同一个 id 属性是不可能的。

原文由 user123444555621 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题