首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用jquery查找表中行的索引

如何使用jquery查找表中行的索引
EN

Stack Overflow用户
提问于 2009-01-22 16:42:43
回答 4查看 72.6K关注 0票数 22

我正在尝试查找表中某行的索引。我尝试使用下面的代码,但我似乎得到了-1的索引。

代码语言:javascript
复制
$(document).ready(function()
{
    $("tr").click(function (){
        var index = $("table").index($(this));
        $("span").text("That was row index #" + index);
    });
});

其中的html如下所示;

代码语言:javascript
复制
<table>
<tbody>
    <tr><td>click</td></tr>
    <tr><td>click</td></tr>
    <tr><td>click</td></tr>
    <tr><td>click</td></tr>
</tbody>

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-22 16:50:03

您是否尝试过:

代码语言:javascript
复制
$("tr").index(this)

文档显示只传递此参数,并且前面的选择应该位于找到节点的位置。如果您需要在特定表中查找它(并且有多个),您可能需要提供一些上下文:

代码语言:javascript
复制
// haven't tested this
$("tr", $(this).closest("table")).index(this) 
票数 39
EN

Stack Overflow用户

发布于 2013-01-04 23:42:59

基于Robs在特定表中查找索引的答案,这对我很有效。

代码语言:javascript
复制
var index = $('tr', $(this).closest("table")).index(this);
票数 3
EN

Stack Overflow用户

发布于 2018-05-19 11:57:37

我刚刚发现了一个有趣的技巧,它基本上包括对以前的兄弟姐妹进行计数:

代码语言:javascript
复制
var tr = $(some_selector);
var rowIndex = tr.prevAll().length;

这样,如果这是第一个tr,你会得到0,如果这是第四个tr,你会得到3,以此类推。

就此而言,还有另一个使用index()的选项,它使您不必知道如何选择包含的表:

代码语言:javascript
复制
var rowIndex = tr.parent().children().index(tr);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/469883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档