1

这是我的代码:

$(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

4 回答 4

2

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

var class = getPieceName(board[i][j][0])
     $('.' + class).click(function() {
于 2013-07-19T13:53:39.567 回答
2

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

$("." + $class).click(function(){ ... });
于 2013-07-19T13:53:56.383 回答
1

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

于 2013-07-19T13:53:52.783 回答
0

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

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

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

于 2013-07-19T14:00:12.760 回答