jQuery索引方法

时间:2011-07-14 15:26:37

标签: jquery indexing

我知道jQuery中有很多关于index()的信息。但我的情况很复杂,我需要帮助。

<table>
 <tbody>
  <tr>
   <td>abc</td>
   <td><input type="checkbox"/></td>
  </tr>
  <tr>
   <td>def</td>
   <td><input type="checkbox"/></td>
  </tr>
 </tbody>
</table>
<table>
 <tbody>
  <tr>
   <td>ghi</td>
   <td><input type="checkbox"/></td>
  </tr>
  <tr>
   <td>jkl</td>
   <td><input type="checkbox"/></td>
  </tr>
 </tbody>
</table>

我需要的是当前“tbody”中“tr”元素的索引,我刚刚选中了该框。

2 个答案:

答案 0 :(得分:5)

如果您的代码在处理程序中,请执行以下操作:

$('table input[type="checkbox"]').change( function() {
    var idx = $(this).closest('tr').index();
});

示例: http://jsfiddle.net/bA9dx/


或者,如果您说您需要从 all 表中的行中索引该行,请执行以下操作:

var rows = $('table tr');

$('table input[type="checkbox"]').change( function() {
    var idx = rows.index( $(this).closest('tr') );

    alert( idx );
});

示例: http://jsfiddle.net/bA9dx/1/

答案 1 :(得分:0)

你可以使用:

$('input').click(function(){
    var i = $(this).closest('tr').index();
    //i is the index
});