<!DOCTYPE html><html><head lang="zh-CN"><meta charset="UTF-8"><title>setInterval()</title><style type="text/css">.div1 {width: 200px;height: 100px;background-color: gray;}.div2 {width: 200px;height: 100px;background-color: green;}</style></head><body><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><div class="div1">重生之魔教教主</div><script type="text/javascript">//补充代码window.onload = function () {var aDiv = document.getElementsByClassName("div1");var len= aDiv.length;for (var i = 0; i < len; i++) {aDiv[i].className = "div2";console.log(len);}}</script></body></html>
4 回答
慕spring
TA贡献38条经验 获得超4个赞
每循环一次,aDiv这个参数值都实时变化了,最初有aDiv有13个数组,当i=0时,第一个div的class已经变成div2,aDiv就跟着变成12个了,这时循环i=1了,所以走得又是新数组的第二个,以此类推,就变成隔行显示了。
慕圣02889802
TA贡献2条经验 获得超0个赞
首先说声抱歉,因为我也没有找到原因。但是如果你只是想要达到每个都换颜色的效果的话,可以把div的获取方式改变一下,用获取标签名的方式获取。就是用document.getElementsByTagName
- 4 回答
- 0 关注
- 708 浏览
添加回答
举报
0/150
提交
取消