使用jquery选择大于n的表列?

时间:2010-11-17 22:44:33

标签: jquery

在jquery中有没有办法选择大于4的所有td列?我有一个16列的表,我最初只想显示前4个。

我知道我可以使用:

$('tr td:nth-child(5)').hide(); 

在将所有这些类放到一个类的时候隐藏它们但是如果有一个更简单的jquery方法可以做到这一点会很好。

4 个答案:

答案 0 :(得分:3)

    $('tr').each(
        function(){
           $(this).find('td:gt(3)').hide();
        });

Demo at: http://jsfiddle.net/davidThomas/7SDpr/

答案 1 :(得分:2)

您可以使用:gt()选择器执行此操作:

$('tr td:gt(4)').hide(); 

Documentation

编辑:

帕特里克指出,这对每一行都不起作用。您需要使用.each将其应用于每一行。

$('tr').each(
    function() {
       $(this, ).find('td:gt(4)').hide();
    });

答案 2 :(得分:2)

您可以在an .each() using .slice()中执行此操作:

示例: http://jsfiddle.net/kEByC/

$('tr').each(function() {
    $(this).children().slice(3).hide();
});

或者像这样using .nextAll()

示例: http://jsfiddle.net/kEByC/1

$('tr > td:nth-child(3)').nextAll().hide();

答案 3 :(得分:0)

试试这个:

 $('tr > td:nth-child(n+3)').hide();