【发布时间】:2013-04-05 09:50:41
【问题描述】:
我有一张桌子。单击某行时,会给出.active 并突出显示该行。除了单击它之外,我还需要采用其他方法来更改选定的行。对于我的示例,我选择了下一步按钮。
当它到达表的末尾或其他类似的东西时,我可以做背后的逻辑。
我只需要帮助弄清楚如何获取带有活动类的 TR 的索引,这样我就可以增加索引,然后我可以给下一行提供活动类...那就是我需要做的一切......如何获得该行索引。
这是我尝试过的一些不起作用的东西......
alert( $('table tr .active').index() );
var row = $('table tr.active').first();
alert(row.index() );
alert($("table").index( $('table tr .active') ));
这是我用作参考的 (https://stackoverflow.com/a/469910/623952)
var index = $("table tr").index($(this));
但我无法正确选择选择器...
解决方案.....
它永远不会起作用...我写了糟糕的代码:
$(this).children("tr").addClass("active");(this = 点击函数中的 tr)
但是新代码: http://jsfiddle.net/dHxKW
$("#table_one").on("click", "tr", function () {
$(".active").removeClass("active");
$(this).children("td").addClass("active");
// removed line: $(this).children("tr").addClass("active");
$(this).addClass("active");
});
$('#btn_next').on('click', function ()
{
// right here **********
var n = $('tr.active').next();
$(".active").removeClass("active");
n.children("td").addClass("active");
n.addClass("active");
});
** 就像一个注释,我正在将类添加到 tr 和 td 的......我不确定这是否是最好的方法,但 tr 没有背景属性,所以我只是将它添加到两个都。我想这可能是我困惑的原因......
【问题讨论】:
-
使用 .each 并增加一个计数器
-
在活动 tr 上使用 .next() 怎么样?如果为空,则 parent().children(0)
标签: javascript jquery html-table css-selectors