1

我想识别所有行数超过 6 行的表,以及所有行数不超过 6 行的表。

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

4

4 回答 4

1

您可以jQuery.filter为此使用:

$("table").filter(function(){
    return $(this).find("tr").length > 6;
});
于 2013-03-01T20:17:15.637 回答
1

我将使用该.filter()方法仅过滤掉与您的条件匹配的表。在您的情况下,您可以选择表中的所有行并检查长度。像这样的东西:

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

工作演示

于 2013-03-01T20:19:05.367 回答
0

您正在寻找 .filter()

$('table').filter(function(index) {
    return $('tr', this).length > 6;
});
于 2013-03-01T20:18:14.860 回答
0

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

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

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

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

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

于 2013-03-01T20:23:30.107 回答