如何选择行数超过或少于一定数量的表?

时间:2013-03-01 20:14:37

标签: jquery jquery-selectors

我想识别超过6行的所有表,以及所有6行或更少行的表。

关于我能想到的最好的方法是遍历每个表的行并计算它们,但必须有一个更优雅的解决方案。除了循环和计数以找到这些表之外,我还能做些什么?

4 个答案:

答案 0 :(得分:1)

您可以使用jQuery.filter

$("table").filter(function(){
    return $(this).find("tr").length > 6;
});

答案 1 :(得分:1)

我会使用.filter()方法过滤掉符合条件的表格。在您的情况下,您可以选择表中的所有行并检查长度。像这样:

// Get tables with more than six rows
$("table").filter(function (){
   return $("tr", this).length > 6;
});

Working demo

答案 2 :(得分:0)

您正在寻找.filter()

$('table').filter(function(index) {
    return $('tr', this).length > 6;
});

答案 3 :(得分:0)

这是一种使用:gt(大于)选择器为您计算行数的技术:

$bigtable = $('table').find('tr:gt(5)').closest('table'); // :gt is zero-indexed

之后,您可以使用.not()获取六行或更少行的所有表格:

$smtable = $('table').not($bigtable);

http://jsfiddle.net/mblase75/44YEf/