javascript:获取td索引

时间:2011-06-24 16:32:00

标签: jquery xhtml

  

可能重复:
  Table row and column number in jQuery

如果我有这样的表:

<table>
  <thead>
     <tr><th>1</th> <th>2</th> <th>3</th></tr>
  </thead>

  <tbody>
    <tr><td>data</td> <td>checkbox</td> <td>data</td></tr>
  </tbody>
</table>

当用户单击复选框时,我想获取行和列索引。我可以使用以下代码获取行索引:

 var row = $(this).parent().parent();
 var rowIndex = $(row[0].rowIndex);

但我无法弄清楚列索引...

我尝试了这个,但它不起作用:

 var colIndex = $(row.children().index(this).parent());

我在这里查看了类似问题的结果,似乎我必须遍历所有tds与每个或地图,是否有更简单的我可以使用?感谢。

1 个答案:

答案 0 :(得分:29)

首先获取<td>的索引,因为它正在前往<tr>

var cell = $(this).closest('td');
var cellIndex = cell[0].cellIndex

var row = cell.closest('tr');
var rowIndex = row[0].rowIndex;

或者使用parents()[docs]方法和multiple-selector[docs],您可以同时选择两者:

var cellAndRow = $(this).parents('td,tr');

var cellIndex = cellAndRow[0].cellIndex
var rowIndex = cellAndRow[1].rowIndex;