8

多くの行 (50-200) と列 (30) を含む大きなテーブルがあります。したがって、合計で少なくとも 1500 個のセルがあります。次の命令のうち、どちらが速いか、またその理由を知りたいです。

//assuming we have some predefined variable
var table = $('#myTable');
var allCells = table.find('td');

選択したセルにクラスがある場合selected

selectedCells = table.find('td.selected');

selectedCells = allCells.filter('.selected');

または、ループするセルが 1500 個あることを考慮して、選択したセルを見つけるための (パフォーマンスと読みやすさの点で) より優れたネイティブな JavaScript の方法はありますか?

4

1 に答える 1

12

find()とにかくあなたのfilter()方法が依存しているので、ここではより速くなります。find()あなたのコードから:

var allCells = table.find('td');

selectedCells = allCells.filter('.selected');

table.find('td.selected');tdクラスを持つ要素のみをプルしselectedます。

table.find('td').filter('.selected')すべてtd要素をプルしてから、selectedクラスを持つ要素のみをフィルタリングします。

于 2013-06-13T12:20:48.353 に答える