我正在尝试查找表中某行的索引。我尝试使用下面的代码,但我似乎得到了-1的索引。
$(document).ready(function()
{
$("tr").click(function (){
var index = $("table").index($(this));
$("span").text("That was row index #" + index);
});
});
其中的html如下所示;
<table>
<tbody>
<tr><td>click</td></tr>
<tr><td>click</td></tr>
<tr><td>click</td></tr>
<tr><td>click</td></tr>
</tbody>
谢谢
发布于 2009-01-22 16:50:03
您是否尝试过:
$("tr").index(this)
文档显示只传递此参数,并且前面的选择应该位于找到节点的位置。如果您需要在特定表中查找它(并且有多个),您可能需要提供一些上下文:
// haven't tested this
$("tr", $(this).closest("table")).index(this)
发布于 2013-01-04 23:42:59
基于Robs在特定表中查找索引的答案,这对我很有效。
var index = $('tr', $(this).closest("table")).index(this);
发布于 2018-05-19 11:57:37
我刚刚发现了一个有趣的技巧,它基本上包括对以前的兄弟姐妹进行计数:
var tr = $(some_selector);
var rowIndex = tr.prevAll().length;
这样,如果这是第一个tr
,你会得到0,如果这是第四个tr
,你会得到3,以此类推。
就此而言,还有另一个使用index()
的选项,它使您不必知道如何选择包含的表:
var rowIndex = tr.parent().children().index(tr);
https://stackoverflow.com/questions/469883
复制相似问题