从数组中的单独元素更改背景颜色(jquery)

时间:2013-07-19 13:51:21

标签: 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)编写为类?

4 个答案:

答案 0 :(得分:2)

你可以命名你的变量,然后将它连接到你的选择器,因为它的字符串不是JQ对象。

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

答案 1 :(得分:2)

如果class是一个字符串,你可以像这样使用它:

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

答案 2 :(得分:1)

它认为您需要的只是'.' + $class

答案 3 :(得分:0)

将类或数据属性应用于所有电路板组件(例如class="board_piece" data-board-x="1" data-board-y="2")然后将点击处理程序绑定到选择器可能更简单:

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

您可以使用我添加的data-board-x和-y坐标来检索Click处理程序内的棋盘中的实际位置。