jQuery:如何选择表中每行的最后N列?

jQuery:如何选择表中每行的最后N列?,jquery,jquery-selectors,Jquery,Jquery Selectors,我有一张有6列的表。我想在每行的最后3列(不包括标题行)上运行一个函数。我有以下正在工作的选择器: $('table.listviewtable > tbody > tr:gt(0)').find('td:gt(2)') .each(function () { runMyFunction($(this)); }); 有没有一种方法可以在一个选择器ie中完成这一切,而无需中间查找 更新: 我试过了 $('table.listviewtable > tbody >

我有一张有6列的表。我想在每行的最后3列(不包括标题行)上运行一个函数。我有以下正在工作的选择器:

$('table.listviewtable > tbody > tr:gt(0)').find('td:gt(2)')
    .each(function () { runMyFunction($(this)); });
有没有一种方法可以在一个选择器ie中完成这一切,而无需中间查找

更新:

我试过了

$('table.listviewtable > tbody > tr:gt(0) td:gt(2)')


但它们没有起作用。它们返回第2行的第4列、第5列和第6列以及所有后续行的所有列。

最简单、最明显的选择器是:

$('table.listviewtable > tbody > tr td:gt(2)')
$('tr').each(
function(){
    $(this).find('td:gt(2)').css('background-color','#ffa');
});

编辑是因为我是个白痴,忽略了第一条建议中的明显缺陷。顺便说一句,我假设正确的标记,使用th作为标题行。但是,您可以将选择器修改为:

 $('tbody tr')
要解决这个问题,如果您没有使用th元素。

给您:

$('table.listviewtable td:nth-child(n+4)')
现场演示:

我假设您使用TH元素作为标题单元格。

怎么样

$('td:gt(2)', 'table.litviewtable')
当然,如果您在标题中使用th

统治 获取TR最后X个TD的一般规则为:

$'tbl tr td:n-last-child-n+X'; 实例 //某些章节中最后3段的示例: $'my_section p:n-last-child-n+3'; //这与: $'my_section p:n-last-child3-n'; 演示 运输署{ 边框:实心1px999; 填充:2px; } 最后3个单元格使用jQuery变为灰色

一 二 三 四 $document.readyfunction{ $'表trtd:n-last-child-n+3'.css'background','CCC'; };
td:gt2不起作用,因为它从整个td元素集中排除了前3个td元素,而不是每行的前3个td元素。@Sime:是的,我知道了。这时我加入了中间查找,以使原始版本正常工作。由于索引和child之间有很大的不同,我恢复了部分问题的标题。为了便于将来参考,我希望明确我想要的是每一行子级的列,而不是表索引中最后一行的最后一列。是!就是这样。我甚至在测试之前就知道了。我看了n个孩子,但所有的例子都显示了n的乘数。从未尝试过加法。星期五一定是一天的结束。谢谢@Rich该规范提供了很好的示例:如果表的标题行使用元素,请使用$'table.listviewtable tr:not:first child td:nth childn+4'
$('td:gt(2)', 'table.litviewtable')