JavaScript和getElementById用于具有相同ID的多个元素如何通过指定元素来获取元素集合id?我想获得idhtml中具有相同标签的所有标签的名称。我想只使用getElementById()一个元素数组。我怎样才能做到这一点?
3 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
为什么你想要这样做是超出我的,因为id应该在文档中是唯一的。但是,浏览器往往对此非常松懈,所以如果你真的必须使用getElementById来实现这个目的,你可以这样做:
function whywouldyoudothis() { var n = document.getElementById("non-unique-id"); var a = []; var i; while(n) { a.push(n); n.id = "a-different-id"; n = document.getElementById("non-unique-id"); } for(i = 0;i < a.length; ++i) { a[i].id = "non-unique-id"; } return a;}
但是,这很愚蠢,我不相信这会永远适用于所有浏览器。尽管HTML DOM规范将id定义为readwrite,但如果遇到具有相同id的多个元素,则验证浏览器会抱怨。
编辑:给定一个有效的文件,可以达到同样的效果:
function getElementsById(id) { return [document.getElementById(id)];}
添加回答
举报
0/150
提交
取消