getElementById with an array Javascript

getElementById with an array Javascript

本文关键字:Javascript array an with getElementById      更新时间:2023-09-26

我正在修改WordPress的插件,我遇到了一个小问题。当我在数组中搜索 id 时,控制台会返回 form[0].getElementById 不是函数。

这是我的代码。

var form = document.getElementsByClassName("modal-body");
var i=0;
while (i<(form.length)) { 
    var tag = form[i].getElementById("em-booking"); 
    if(tag) { 
        var carles = form[i].getElementById("formulari-cemcat");
        carles.style.display = "none";
    } 
    i++; 
}

也许有人可以帮助我并查找我的问题。

非常感谢

卡尔斯

> getElementById 仅在 document 上定义。不需要能够在元素上调用它,因为 ID 在整个文档中应该是唯一的。

在文档中具有相同 ID 的多个元素是无效的。

如果您确实有多个具有相同 ID 的元素,则应修复它并改用类。然后你可以做:

var tag = form[i].querySelector(".em-booking"); 

仅供参考,form是一个NodeList,而不是一个数组。