我有一个像这样的基本HTML网格:
<table>
<tr id="player1_race">
<td class="active"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
我需要活动的类在单击时转到下一个td元素并从当前元素中删除。 我有这样的事情:
var counter = 1;
$("#player1_race").click(function() {
var counter = counter + 1
$("#player1_race > td:nth-child('counter')").addClass('active');
$('#player1_race > td.active').removeClass('active');
})
由于某种原因,无法访问计数器变量。
答案 0 :(得分:1)
计数器变量是不必要的两次声明。
首先删除class active并添加当前
的类var counter = 0;
$("#player1_race").click(function() {
counter = counter + 1;
$('#player1_race td.active').removeClass('active');
$(this).find("td").eq(counter).addClass('active');
});
答案 1 :(得分:1)
你有几个问题。首先,在单击处理程序中使用var
正在改变变量的范围,因此您需要将其删除。其次,您没有正确地将变量连接到字符串选择器。在这种情况下,最好还是使用eq()
。最后,元素索引从0
开始,因此counter
应该以该值开头。试试这个:
var counter = 0;
$("#player1_race").click(function() {
counter++;
$("#player1_race > td").removeClass('active').eq(counter).addClass('active')
});