テーブルの並べ替えとページネーションのためのjqueryプラグインを作成しています(それらがたくさんあることを知っており、それらをたくさん試しましたが、これまでのところ私のニーズに合ったものはありません。)
とにかく、ページにたくさんのテーブルがあり、プラグインを次のように呼び出します。
$('.data-table').tableSorterTwo();
プラグインコードは次のとおりです。
(function($)
{
$.fn.tableSorterTwo = function()
{
return this.each(function()
{
countRows($(this));
hideRows($(this));
});
};
function countRows(element)
{
console.log($(element).find('tbody tr').size());
}
function hideRows(element)
{
$(element).find('tbody tr').hide().slice(0, 5).show();
}
})(jQuery);
奇妙なことは、サイズとスライスが予想外に機能していて、方法を特定できないことです。
このテーブルには 6 行あります。countRows
18 を返します。これはすべてのテーブルで発生します。結果は、行数に 3 を掛けたものになります。なぜでしょうか?
また、結果hideRows
は予想外です。テーブルの最初の 5 行を表示したい。しかし今は (すべてのテーブルで) 最初の 2 行だけが表示されます。5 を 10 に変更すると、4 行が表示されます。
私のエラーですか?しばらくこれをいじっていますが、現時点では完全に迷っており、すべてのヘルプ/ヒント/提案は大歓迎です!