javascript - JavaScript:当我尝试使用 DOM 时,我的 for 循环似乎不起作用
问题描述
问题是,问题似乎来自 for 循环本身。例如,当我删除其中的代码并放入alert(c);
时,它什么也没做。我之前用同样的方法做了一点不同的事情,而且效果很好。这是我对之前的问题所做的:
for (var b = 0; b <= 99; b++) {
var boxTwo = document.querySelectorAll(".icon2.windowbg[style]")[b];
boxTwo.style.backgroundColor = "#552222";
}
它工作得很好。不幸的是,我不能对我的新问题说同样的话:
for (var c = 0; c <= 99; c++) {
var boxOneNew = document.querySelectorAll(".icon1.windowbg.topicnew")[c];
boxOneNew.style.backgroundColor = "#552222";
}
解决方案
您必须将 boxTwo 从循环中取出,并且循环条件应为 boxTwo.length 以防止出错style of null
,除非您的boxTwo
长度为98
.
var boxTwo = document.querySelectorAll(".icon2.windowbg[style]");
for (var b = 0; b < boxTwo.length; b++) {
boxTwo[b].style.backgroundColor = "#552222";
}
也为您的第二个代码执行此操作:
var boxOneNew = document.querySelectorAll(".icon1.windowbg.topicnew");
for (var c = 0; c < boxOneNew.length; c++) {
boxOneNew[c].style.backgroundColor = "#552222";
}
注意:确保.icon1.windowbg.topicnew
匹配 DOM 中的某些内容。