if(document.readyState === 'complete') {
function $(elements) {
var matches = document.querySelectorAll(elements);
for (var i = 0; i < matches.length; i++) {
var item = matches[i];
}
return item;
}
}
$('div.test').style.fontSize = '36px';
<div class="test">asdf</div>
<div class="asdfd">test</div>
<div class="test">test</div>
我想使用 querySelectorAll 选择所有元素,但这似乎只影响最后一个元素。
最佳答案
您正在循环内分配变量,该变量只会返回最后一个。您应该通过在循环外部声明变量或返回匹配来构建匹配数组:
function $(elements) {
return document.querySelectorAll(elements);
}
或者:
function $(elements) {
var matches = document.querySelectorAll(elements);
var items = [];
for (var i = 0; i < matches.length; i++) {
items.push(matches[i]);
}
return items;
}
关于javascript - querySelectorAll 未选择所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27138391/