Javascript 选择具有GetElementsByCassName的所有类,然后单击

Javascript 选择具有GetElementsByCassName的所有类,然后单击,javascript,class,html,Javascript,Class,Html,我似乎不能点击全班的 document.getElementsByClassName('node closed')[0].click(); 这可以工作,但只会单击第一个类,我需要它来单击所有名为“node closed”的类 感谢您只需删除[0],它将访问所有匹配的元素,因为[0]点仅指向第一个元素。[0]表示仅由getElementsByClassName返回的节点列表的第一个元素 您必须执行GetElementsByCassName并遍历所有匹配的元素,如下所示: var el = doc

我似乎不能点击全班的

document.getElementsByClassName('node closed')[0].click();
这可以工作,但只会单击第一个类,我需要它来单击所有名为“node closed”的类


感谢您只需删除[0],它将访问所有匹配的元素,因为[0]点仅指向第一个元素。

[0]表示仅由getElementsByClassName返回的节点列表的第一个元素

您必须执行GetElementsByCassName并遍历所有匹配的元素,如下所示:

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

在循环中迭代结果,并将单击指定给每个元素:

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

document.getElementsByClassName在IE中存在一些问题

使用jquery

window.onload=function(){

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

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

});

}

我尝试了这个,但我只是得到了错误:TypeError:Object没有方法“click”是的,很抱歉我正要编辑我的帖子。单击方法在节点列表上不起作用。您必须遍历从节点列表返回的所有元素。这可以工作,但似乎不能全部激活它们。有没有办法激活onclick事件?@MaxPort检查一下。我修改了它以适应你的结构。onclick函数被编码为将元素的id打印到控制台日志中。可能是在jQuery中,但不是在vanilla JS中。在这种情况下,问题应该更具描述性。提供的解决方案与javascript中用于索引元素的常规逻辑一致。jQuery对象具有该常规逻辑,但不具有getElementsByClassName返回的s。
$(".node closed").filter(function() {
    return $(this).click();
});