2013-07-19 41 views
1

單獨元件改變背景顏色,這是我的代碼:從陣列(jquery的)

$(document).ready(function() {  
    for(var i = 0 ; i < 8 ; i++){ 
     for(var j = 0 ; j < 8 ; j++){ 
      var $class = getPieceName(board[i][j][0]) 
      $(.$class ????).click(function() { 
       $(this).css('background-color', 'red');  
      }); 
     } 
    }   
}); 

正如你可以看到,我想改變的元件的背景顏色。 需要for循環才能獲取用戶點擊的數組中的元素。 如何編寫變量($ class)作爲一個類?

回答

2

如果類是字符串,你可以使用它像這樣:

$("." + $class).click(function(){ ... }); 
+0

謝謝,這個作品! – Reijo

2

你可以命名你的變量,然後將它連接到你的選擇器中,因爲它的字符串不是JQ對象。

var class = getPieceName(board[i][j][0]) 
    $('.' + class).click(function() { 
1

它認爲,所有你需要的是'.' + $class

0

這可能是簡單的一類或數據屬性適用於所有的棋盤棋子,如class="board_piece" data-board-x="1" data-board-y="2",然後將點擊處理程序綁定到選擇器上:

$('.board_piece').click(function() { $(this).css(...) } 

您可以使用我添加的data-board-x和-y座標來檢索單擊處理程序中板內的實際位置。