JavaScript和getElementById用于具有相同ID的多个元素

JavaScript和getElementById用于具有相同ID的多个元素

如何通过指定元素来获取元素集合id?我想获得idhtml中具有相同标签的所有标签的名称。

我想只使用getElementById()一个元素数组。我怎样才能做到这一点?


波斯汪
浏览 3526回答 3
3回答

眼眸繁星

为什么你想要这样做是超出我的,因为id应该在文档中是唯一的。但是,浏览器往往对此非常松懈,所以如果你真的必须使用getElementById来实现这个目的,你可以这样做:function&nbsp;whywouldyoudothis()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;n&nbsp;=&nbsp;document.getElementById("non-unique-id"); &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;a&nbsp;=&nbsp;[]; &nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;i; &nbsp;&nbsp;&nbsp;&nbsp;while(n)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.push(n); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n.id&nbsp;=&nbsp;"a-different-id"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;=&nbsp;document.getElementById("non-unique-id"); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;i&nbsp;<&nbsp;a.length;&nbsp;++i)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[i].id&nbsp;=&nbsp;"non-unique-id";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;a;}但是,这很愚蠢,我不相信这会永远适用于所有浏览器。尽管HTML DOM规范将id定义为readwrite,但如果遇到具有相同id的多个元素,则验证浏览器会抱怨。编辑:给定一个有效的文件,可以达到同样的效果:function&nbsp;getElementsById(id)&nbsp;{ &nbsp;&nbsp;return&nbsp;[document.getElementById(id)];}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript