2015-06-18 38 views
-1

我正在修改wordpress的一个插件,我有一个小问题。当我在一个数组中搜索一个id时,控制台返回那个形式[0] .getElementById不是一个函数。getElementById与一个数组Javascript

这是我的代码。

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++; 
} 

也许有人可以帮助我,看看我的问题。

太感谢你了,

普约尔

+0

哪一行是给出错误? – Imad

+0

你能发布你的HTML代码吗? –

+0

一个谁downvoted应该真的解释为什么。这样的新手问题出了什么问题? – jazZRo

回答

5

getElementById is only defined on document。没有必要能够在元素上调用它,因为在整个文档中ID应该是唯一的。

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

如果你真的有多个具有相同ID的元素,你应该修复它并使用类。然后,你可以这样做:

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

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