在HTML中使用单个id名称的多个实例有什么副作用?

前端之家收集整理的这篇文章主要介绍了在HTML中使用单个id名称的多个实例有什么副作用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
只是好奇地想知道如果我在我的网页中包含多个具有相同ID的元素,我会给自己带来什么问题?

例如:

<div id='someID'>Some Content</div>
<div id='someID'>Some Other Content</div>

解决方法

当您尝试从JavaScript引用这些元素时,它将无法解析您所引用的元素.根据您运行的特定JavaScript解释器,您可能会遇到错误或未定义的行为 – 这两种情况都是不受欢迎的.

HTML规范声明Id应该是唯一的,因此您的HTML将被视为无效并可能导致浏览器退回到怪异模式渲染,甚至完全拒绝呈现您的页面(尽管这不太可能,并且所有当前浏览器都将呈现一些东西 – 从技术上讲,如果你不遵守规范,浏览器没有义务做任何事情,但拒绝你的页面).

如果您希望通过以下方式识别多个元素,则应考虑使用类名:

<div class="someClass">Some Content</div>
<div class="someClass">Some Other Content</div>

Blair在下面的评论中指出,如果你需要从JavaScript中按类搜索元素,你可以通过从具有ID的最近元素开始加速搜索,并告诉它要查找的节点类型.这可以在很多情况下保持快速访问速度,但不会破坏重复ID的任何规则:

HTML:
<div id="myNearestID">
    <div class="someClass">Some Content</div>
    <div class="someClass">Some Other Content</div>
</div>

JavaScript+JQuery:
$('#myNearestID div.someClass')

猜你在找的HTML相关文章