我试图使用JQuery找到表格单元格的行号和列号。但是,我的表是嵌套的:
<table>
<tr>
<td>
<table><tr><TD></TD></tr></table>
<td>
<table>...</table>
</tr>
<tr>
...
</table>
JQuery应该执行的td对象是内部表上的on。我在上面的代码中用大写字母注明了它。
我见过单表的一些例子 - 对于嵌套表有没有办法呢?
编辑:
也就是说,我试图找到OUTSIDE表的行号和列号,但正在执行的对象是INSIDE td元素。
答案 0 :(得分:2)
这将为您提供父td
:
$('#inner-td').parent().closest('td');
注意:仅使用parent()
将无效,因为它只会查看直接父级。单独使用closest()
也不会有效,因为它会返回当前td
,因为closest()
会查找与传递的选择器匹配的最接近的元素including the current element。
答案 1 :(得分:2)
检查这个小提琴:http://jsfiddle.net/pg4sj/
代码:
$('table table td').click(function() { // change this to suit your selector
var theTD = $(this).parents('table:first').parents('td:first');
var col = theTD.index() + 1;
var row = theTD.parents('tr:first').index() + 1;
alert('[Row, Col] => ['+row+', '+col+']');
});