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 に答える