循环抛出错误 - Javascript

时间:2017-12-01 02:03:14

标签: javascript while-loop

我正在学习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>

1 个答案:

答案 0 :(得分:1)

你需要通过循环中的索引访问元素

var mydiv = document.getElementsByTagName('div');

var i = 0;

while (i < mydiv.length) {
 mydiv[i].style.background = "yellow";
 i++;
}