如何在jQuery中使用for循环?

时间:2018-08-31 04:43:14

标签: javascript jquery loops

你好,我是一个自学成才的开发人员,我正尝试在jQuery中使用for()循环,但似乎不起作用。我正在尝试遍历RGB颜色数组,这些颜色目前已使用字符串进行了硬编码。以下是我要完成的任务的摘要。我希望每个div都包含一个

http://jsfiddle.net/CleverOscarDev/cyztq6m5/

var squares = $(".squares");
var colors = [
  "rgb(255, 0, 0)",
  "rgb(0, 255, 0)",
  "rgb(0, 0, 255)",
  "rgb(255, 0, 0)",
  "rgb(255, 0, 0)",
  "rgb(255, 0, 0)",
]

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

5 个答案:

答案 0 :(得分:7)

检查更新的小提琴http://jsfiddle.net/0xdwhsnc/

您错过了索引,而不是使用颜色[i]

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

答案 1 :(得分:1)

如果您的颜色数组将具有与具有类正方形的格数相同的颜色,则可以这样做!

$(".squares").each(function(key, value) {
    $(this).css({"background-color" : colors[key]});
});

答案 2 :(得分:1)

尝试每个循环。 http://jsfiddle.net/cyztq6m5/15/

$(squares).each(function(key, value) {
  value.style.backgroundColor = colors[key];       
}); 

答案 3 :(得分:0)

您遇到一个简单的错误,colors是一个数组,而不是颜色字符串,因此您应该使用colors[i]

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

答案 4 :(得分:0)

您还可以对每个对象使用jquery

$.each(squares, function(idx, square){
    square.style.backgroundColor=colors[idx]
});