我正在学习JS中的新循环结构,我无法通过for循环以一种方式对元素进行更改。
在下面的代码中,它会抛出一个错误'无法设置'undefined'的属性'background'。这似乎与变量mydiv有关?
有没有人倾向于为什么会这样或者这里发生了什么?
JS
var mydiv = document.getElementsByTagName('div');
var i = 0;
while (i < mydiv.length) {
mydiv.style.background = "yellow";
i++;
}
CSS
body {display: flex;}
.box {width: 100px; height: 100px; background: red; margin: 0
10px;}
HTML
<div class="box"></div>
<div class="box"></div>
答案 0 :(得分:1)
你需要通过循环中的索引访问元素
var mydiv = document.getElementsByTagName('div');
var i = 0;
while (i < mydiv.length) {
mydiv[i].style.background = "yellow";
i++;
}