Javascript 如何在HTML5上索引具有相同ID的div标记

Javascript 如何在HTML5上索引具有相同ID的div标记,javascript,html,Javascript,Html,比如说,我有如下代码 <div id='tes' data-name='baloon'>Content Baloon</div> <div id='tes' data-name='big'>Content Big</div> 内容阳台 心满意足 我想用javascript(不是jquery)获取每个div的内部,但要使用html5。如何做到这一点?在HTML(5或任何其他版本)文档中不能有具有相同ID的元素-这是一个错误。因此,javascri

比如说,我有如下代码

<div id='tes' data-name='baloon'>Content Baloon</div>
<div id='tes' data-name='big'>Content Big</div>
内容阳台
心满意足

我想用javascript(不是jquery)获取每个div的内部,但要使用html5。如何做到这一点?

在HTML(5或任何其他版本)文档中不能有具有相同ID的元素-这是一个错误。因此,javascript无法解决这个问题

检查以下位置的HTML spect


您可以有多个具有相同“name”属性的元素,javascript提供了这方面的支持。

只需将
tes
作为一个类,并使用javascript获取该类中的所有
div
元素

然后遍历该组元素并检查要匹配的特定
数据名
属性。

每个div标记“class”或“id”不能具有相同的特定名称


数据名用于匹配javascript函数或给定的命令。

有趣的是,
querySelectorAll('[id=“something”]')
在查找多个匹配项时没有问题:正如OP所发现的,不能有多个id相同的元素的语句严格来说不是真的。从概念上来说,处理它们不是问题。但是getElementById被定义为返回一个DOM节点,这是非常合理的,因为规范规定id应该是唯一的。@HBP:您显然不理解更一般的观点。如果遵循规范,则兼容浏览器中的代码必须正常工作。如果它不在规范中,那么maybe将工作(对于任何你喜欢的工作定义),maybe将不工作,maybe将只在周二工作。不管发生什么坏事都是你的错。