Select all class's with getElementsByClassName

2019-01-24 18:48发布

I cant seem to click all of the class's

document.getElementsByClassName('node closed')[0].click();

This works but will only click on the first class, I need this to click all of the classes named 'node closed'

Thanks

5条回答
闹够了就滚
2楼-- · 2019-01-24 19:05
$(".node closed").filter(function() {
    return $(this).click();
});
查看更多
我想做一个坏孩纸
3楼-- · 2019-01-24 19:10

[0] means only the first element of the node list returned by getElementsByClassName.

You have to do getElementsByClassName and iterate through all the matched elements like shown below:

var el = document.getElementsByClassName('node closed');
for (var i=0;i<el.length; i++) {
    el[i].click();
}

Working Demo

查看更多
贪生不怕死
4楼-- · 2019-01-24 19:12

document.getElementsByClassName has some issues in IE

use jquery

window.onload=function(){

$(.yourclass).each(function(){

 $(this).trigger('click');

});

}
查看更多
够拽才男人
5楼-- · 2019-01-24 19:15

just remove [0] and it will access all matched elements as [0] points to first element only.

查看更多
够拽才男人
6楼-- · 2019-01-24 19:16

iterate the result in a loop and assign click to each elements:

var list=document.getElementsByClassName('node closed')
for(var i=0;i<list.length;i++){
list[i].click()
}
查看更多
登录 后发表回答