在表中查找表 - JQuery

时间:2012-01-17 02:00:45

标签: jquery html-table

我试图使用JQuery找到表格单元格的行号和列号。但是,我的表是嵌套的:

<table>
    <tr>
        <td>
            <table><tr><TD></TD></tr></table>
        <td>
            <table>...</table>
    </tr>
    <tr>
    ...
</table>

JQuery应该执行的td对象是内部表上的on。我在上面的代码中用大写字母注明了它。

我见过单表的一些例子 - 对于嵌套表有没有办法呢?

编辑:

也就是说,我试图找到OUTSIDE表的行号和列号,但正在执行的对象是INSIDE td元素。

2 个答案:

答案 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+']');
});