你能在同一个表达式中使用jquery的:eq()选择器两次吗?

时间:2011-02-02 17:28:59

标签: jquery html jquery-selectors

我正在尝试编写表格分类器函数,因此我需要能够获取表格第n行第n列的HTML。我尝试了以下操作,它没有用(它返回null,并且该特定列肯定有文本内部):

$('tr:eq(3) td(eq(2)').html()

但是后来在代码中,当我使用它时,它工作正常:

$('tr:eq(3)').attr('id')

是否无法使用:eq()两次?如果是的话,我说错了吗?如果没有,有没有办法可以用另一种方式做到这一点?

2 个答案:

答案 0 :(得分:4)

@BoltClock为您提供了jQuery修复程序in his answer

仅供参考,您可以使用本机方法轻松访问行/列。

从table元素中,只需执行.rows[3].cells[2]。这将是一种非常快速的单元查找方式。

var myTable = $('#theTable')[0];

var html = myTable.rows[3].cells[2].innerHTML;

答案 1 :(得分:3)

这里你有一个(而不是:

td(eq(2)

替代方案是:nth-child(),它使用基于1的索引而不是基于0的索引:

$('tr:nth-child(4) td:nth-child(3)').html()