gpt4 book ai didi

javascript - 我应该如何迭代同一循环中多个 getElementsByClassName() 调用的结果?

转载 作者:行者123 更新时间:2023-11-28 12:33:43 25 4
gpt4 key购买 nike

我想这样做:

a1 = document.getElementsByClassName('classA');
a2 = document.getElementsByClassName('classB');
a3 = a1.concat(a2);

for (var i=0; i<a3.length; ++i) {

}

即获取 classA 的所有元素、classB 的所有元素,然后以允许我迭代所有元素的方式组合它们。它不起作用,因为 getElementsByClassName 不返回标准数组。

这可行,但必须有一个更明智的方法:

var els = [];
var e1 = document.getElementsByClassName('classA');
var e2 = document.getElementsByClassName('classB');
[].forEach.call(e1, function(el) { els.push(el); });
[].forEach.call(e2, function(el) { els.push(el); });

最佳答案

在现代浏览器中您可以使用:

var a = document.querySelectorAll('.classA, .classB');

这将查找所有具有“classA”或“classB”的元素。您可以找到更多信息和浏览器兼容性表 here .

关于javascript - 我应该如何迭代同一循环中多个 getElementsByClassName() 调用的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com