在嵌套表中查找单元格位置(行,列)

我有以下简单的jQuery,告诉我一个单元格在表格内的行/列(不包括colspans)。

var col = $this.index() + 1; var row = $this.closest('tr').index() + 1; 

很简单……除了,我的表嵌套在其他表中,我不知道偏移应该是什么。 例如,我有单元格(1,1),这个单元格在一个表格中,它位于另一个表格的第二个单元格中……并且第一个单元格有一个包含三列的表格。 所以我的细胞真的是(4,1)

编辑:更完整的示例,包含更多测试用例。 我几乎已经解决了。 只是一些引起问题的奇怪案例。 (现在有彩色测试)

http://jsfiddle.net/gibble/J3uER/

…我意识到这不正常,而且HTML是愚蠢的,但这是我需要使用的。

http://jsfiddle.net/juSm2/

我用迭代计数器做了。 这有点复杂,但你的任务也是如此。 :)并且一些html修改是必要的:我们必须标记主行以使它们与嵌套行不同。 我添加了类.row来达到这个目的。

 $('td').click(function (event) { event.stopPropagation(); $(this).addClass('clicked'); var row = 0; $('tr.row').each(function () { row++; if ( $(this).find('.clicked').length ) { var td = 0; $(this).find('td').each(function () { if ( !$(this).find('td').length ) { td++; if ( $(this).is('.clicked') ) { alert( 'row = ' + row + ', td = ' + td ); $('.row .clicked').removeClass(); } } }); // td each } }); // .row each }); // td click  ...  ... 
A1 B1
A2 B2
...
A3 B3
...
F3 G3