JavaScript多重递增变量解决方案

| 我有一个变量“ 0”。 我有一张桌子,如下:
<table>
<tr class=\"testrow\">
<td class=\"prev\">&nbsp;</td>
<td class=\"data\">&nbsp;</td>
<td class=\"next\">&nbsp;</td>
</tr>
<tr class=\"testrow\">
<td class=\"prev\">&nbsp;</td>
<td class=\"data\">&nbsp;</td>
<td class=\"next\">&nbsp;</td>
</tr>
<tr class=\"testrow\">
<td class=\"prev\">&nbsp;</td>
<td class=\"data\">&nbsp;</td>
<td class=\"next\">&nbsp;</td>
</tr>
<tr class=\"testrow\">
<td class=\"prev\">&nbsp;</td>
<td class=\"data\">&nbsp;</td>
<td class=\"next\">&nbsp;</td>
</tr class=\"testrow\">
<tr>
<td class=\"prev\">&nbsp;</td>
<td class=\"data\">&nbsp;</td>
<td class=\"next\">&nbsp;</td>
</tr>
</table>
该表可能有更多行。我希望变量在单击
next
时增加1,而对
prev
减少1。这很容易做到。但是我想要一些与行相关的变量。当我在第一行中单击“ 2”时,变量值应为2,但在其他任何行中单击“ 2”或“ 3”时,该变量值都不应更改。在所有其他行中也应该如此。变量的最小值应为1。 如果有人给我摆弄每行中间单元格中显示的变量,这将很有帮助。请注意,在此演示中,不应将“ 7”或“ 8”放在中间单元格中的文本或数据上。 这是我的小提琴。     
已邀请:
        我将使用jQuery.data()将变量存储在每一行中,并在用户单击prev / next时对其进行更改:
$(function() {

    $(\".testrow\").each(function() {
        var $row = $(this);
        // set the initial value  
        $row.data(\"currentIndex\", 1);

        $row.find(\".prev\").click(function() {
            $row.data(\"currentIndex\", $row.data(\"currentIndex\") - 1);
            alert(\"currentIndex: \"+$row.data(\"currentIndex\"));
        });
        $row.find(\".next\").click(function() {
            $row.data(\"currentIndex\", $row.data(\"currentIndex\") + 1);
            alert(\"currentIndex: \"+$row.data(\"currentIndex\"));
        });

    });

});
jsFiddle:http://jsfiddle.net/5TPCK/12/     
        
$(\'table tr .next\').click(function() {
    alert($(this).closest(\'tr\').index());
});
http://jsfiddle.net/ThiefMaster/5TPCK/2/ 顺便说一句,
</tr class=\"testrow\">
是非常错误的-应该只
</tr>
。     
        您不能保留这些计数器的数组吗(如果事先知道行数并且是静态的,这将起作用)?否则,您可以使用jquery
data()
函数将计数器附加到每个
<tr>
元素。 参见:http://api.jquery.com/jQuery.data/     

要回复问题请先登录注册