2012-09-14 26 views
0
<div class="web_index"> 
<div style="display:block" >content 1</div> 
<div style="display:none">content 2</div> 
<div style="display:none">content 3</div> 
</div> 

我用如何获得JavaScript中的所有div?

var div =document.getElementsByClass("web_index").getElementsByTagName("div"); 

它提示我有TypeError: document.getElementsByClass is not a function。为什么,以及如何在web_index DIV所有div

回答

0

也许

var div =document.getElementsByClassName("web_index")[0].getElementsByTagName("div"); 

getElementsByClassName不会在某些版本的Internet Explorer存在,也许你需要创建一个功能:

document.getElementsByClassName = function(cl) { 
    var retnode = []; 
    var elem = this.getElementsByTagName('*'); 
    for (var i = 0; i < elem.length; i++) { 
    if((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]); 
    } 
    return retnode; 
}; 
2

这是document.getElementsByClassName而不是document.getElementsByClass

+0

document.getElementsByClassName(“web_index”)。getElementsByTagName不是函数 – downa1234

0

var div = document.getElementsByClassName('web_index').getElementsByTagName("div"); 

或者因为它说,没有这样的功能 “getElementsByClass” 你可以使用JavaScript querySelector()功能

var div = document.querySelector('.web_index').getElementsByTagName("div"); 
1

。你可以做的是获得所有的“div”,并​​通过它比较元素className和“web_index”来循环。

相关问题