为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

波斯汪 2019-08-13 15:06:18
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)];}


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 3525 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信