Reputation: 133
<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>
i used
var div =document.getElementsByClass("web_index").getElementsByTagName("div");
it tips me there TypeError: document.getElementsByClass is not a function
.why, and how to get all the div
in the web_index
div?
Upvotes: 0
Views: 384
Reputation: 2686
As it says there is not such a function "getElementsByClass". What you can do is get all "div" and loop through it comparing elements className with "web_index".
Upvotes: 1
Reputation: 2154
its
var div = document.getElementsByClassName('web_index').getElementsByTagName("div");
or you could use javascript querySelector()
function
var div = document.querySelector('.web_index').getElementsByTagName("div");
Upvotes: 0
Reputation: 39704
Maybe
var div =document.getElementsByClassName("web_index")[0].getElementsByTagName("div");
getElementsByClassName
does not exist in some Internet Explorer versions and maybe you need to create that function:
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;
};
Upvotes: 0
Reputation: 160863
It's document.getElementsByClassName
not document.getElementsByClass
.
Upvotes: 2