2011-04-23 38 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