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()6 行以下のすべてのテーブルを取得するために使用できます。

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

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

于 2013-03-01T20:23:30.107 に答える