我有一个每个元素属性的数组。我希望通过遍历数组来获取该数组中的所有元素。这就是我试过的:
var array = ["blue", "yellow", "red"]; // these are name attributes of elements
for(var i=0; i<array.length; i++) {
var elements = Array.from(document.querySelectorAll("div[name="+array[i]+"]"));
}
问题是我得到三个分开的数组,我想要一个包含所有元素的数组。
答案 0 :(得分:2)
可能你正在推动Array.from
的结果,这是一个数组。
要将它们全部放入单个数组中,您需要为每次迭代连接结果(Array.from
)。
var array = ["blue", "yellow", "red"]; // these are name attributes of elements
var elements = [];
for (var i = 0; i < array.length; i++) {
elements = elements.concat(Array.from(document.querySelectorAll("div[name=" + array[i] + "]")));
}
console.log(elements)
<div name='blue'></div>
<div name='red'></div>
<div name='yellow'></div>
答案 1 :(得分:1)
你试过了吗?
var array = ["blue", "yellow", "red"]; // these are name attributes of elements
var query = array.map(name => "div[name="+name+"]").join(', ');
var elements = Array.from(document.querySelectorAll(query));
console.log(elements)
&#13;
<div name="blue"></div>
<div name="yellow"></div>
<div name="red"></div>
&#13;