循环遍历多个数组

时间:2013-09-09 00:09:55

标签: javascript

我正在尝试遍历一系列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

1 个答案:

答案 0 :(得分:5)

使用the % modulus operator

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/