2011-04-23 40 views
4

我有一个数组,看起来像这样:如何使用jQuery更改背景颜色?

tracker[0] = false 
tracker[1] = true 
tracker[2] = true 
tracker[3] = false 

有的div的我的形式看起来像这样:

<div id="tracker_0"> </div> 
<div id="tracker_1"> </div> 
<div id="tracker_2"> </div> 
<div id="tracker_3"> </div> 

我需要的是我的div的背景颜色变为红色或绿色取决于我的跟踪器阵列的值。这是一个可变大小的数组。

有人可以给我一些指导我如何使用jQuery来做到这一点。我真的没有什么经验,所以我非常感谢任何帮助。

谢谢你,马里卢

+0

只是要求代码来解决问题可能不会提示太多的回应。如果你已经尝试过某些东西,但它不起作用,那么发布它,人们可能会提供帮助。 – Hogan 2011-04-23 02:58:01

+0

@霍根。我明白,但我对jQuery非常陌生,所以只是寻找一些提示。谢谢 – MikeSwanson 2011-04-23 03:14:35

回答

7

如果没有一些代码,这是不可能写工作代码,但也可以是这样的:

function(){ 
    var i = 0; 
    $("#divWrapper div").each(function(){ 
     if(tracker[i]) 
      $(this).css("background-color","red"); 
     else 
      $(this).css("background-color","green"); 
     i++; 
    }); 
} 

如果此功能是您的触发器的参数

编辑:

现在您已经提供了代码,请试试这个:

for(i=0; i<tracker.length; i++) 
{ 
    if(tracker[i]) 
     $("#tracker_"+i).css("background-color","green"); 
    else 
     $("#tracker_"+i).css("background-color","red"); 
} 
+0

我的Div的ID有tracker_0,tracker_1等。你能解释一下我可以如何设置这个,在每一个上做一个“each”。我该如何做select:“#divWrapper div”。感谢您一直以来的帮助。 – MikeSwanson 2011-04-23 03:04:17

+0

我刚看到你的更新。我现在会尝试。谢谢 – MikeSwanson 2011-04-23 03:06:29

+0

感谢您的帮助。它运作良好。 – MikeSwanson 2011-04-23 03:19:26

5
$.each(tracker, function (i, bool) { 
    $('#tracker_'+i).css('backgroundColor', bool ? 'green' : 'red'); 
}); 
+0

感谢您的帮助。我还没有尝试你的方法,但我现在会尝试。我希望你不介意,但我会先标记安德烈的回答是正确的,因为他先回答。 Marilou – MikeSwanson 2011-04-23 03:20:27

+0

无论你喜欢什么都很好 - 对未来而言,我建议对你认为是好答案的人进行投票,并且只有在你得到多个选票后才选择“答案” - 这也会更好地突出显示你认为是未来访问该页面的人的最佳答案。 – 2011-04-23 03:33:45