Javascript 合并querySelectorAll返回的两个元素列表
我想合并document.querySelectorAll返回的两个元素列表 以下是我尝试过的,但并不好:Javascript 合并querySelectorAll返回的两个元素列表,javascript,Javascript,我想合并document.querySelectorAll返回的两个元素列表 以下是我尝试过的,但并不好: var ca = document.querySelectorAll(".classA"); ca = ca + document.querySelectorAll(".classB"); 我需要合并元素列表,因为我只需要在FOR循环中使用一个列表: for(var i=0; i<ca.length; i++) console.log(ca[i].tagName); fo
var ca = document.querySelectorAll(".classA");
ca = ca + document.querySelectorAll(".classB");
我需要合并元素列表,因为我只需要在FOR循环中使用一个列表:
for(var i=0; i<ca.length; i++) console.log(ca[i].tagName);
for(var i=0;i用于将节点列表转换为数组并合并两个数组:
var ca = Array.prototype.slice.call(document.querySelectorAll(".classA")).concat(Array.prototype.slice.call(document.querySelectorAll(".classB")));
你也可以这样做
var ca = document.querySelectorAll(".classA, .classB");
“但这需要FF 3.1+、Safari 3.1+或IE8+”无论是使用逗号连接选择器还是单独调用querySelectorAll(),浏览器支持都没有区别
。实际上,对于连接的选择器,输出顺序是每个元素的文档顺序,而两个合并数组的顺序是第一个数组中的项目,然后是第二个数组中的项目。区别很小,但确实存在,并且可以根据您的使用情况产生不同的结果。