0

我正在尝试遍历一系列li元素,并将每个元素与color数组中的颜色匹配,如下所示:

var li = document.getElementsByTagName('li');
var colors = ["salmon", "teal", "orange", "grey", "blue"];

for (i=0; i < li.length; i++) {
li[i].style.backgroundColor=colors[i]

}

但是,由于颜色的长度比 li 元素的长度短,所以它会停止。

我怎样才能让颜色数组再次循环,直到它与 li 元素的数量相匹配?

JSFIDDLE

4

1 回答 1

5

使用%运算符

var li = document.getElementsByTagName('li');
var colors = ["salmon", "teal", "orange", "grey", "blue"];
var colorsCount = colors.length;

for ( var i = 0; i < li.length; i++ ) {
    li[i].style.backgroundColor = colors[ i % colorsCount ];
}

这是你的小提琴:http: //jsfiddle.net/LhmgQ/1/

于 2013-09-09T00:11:33.543 回答