document.readyで呼び出される関数は、従来のASPで生成された約600行のテーブルをループします。 「現代的」なブラウザ(Chrome、Firefox、IE9 Beta)では1.5-2秒で動作します。 IE6では約5〜7秒で動作します。jQueryのTableRows/Table Cellによるループパフォーマンス
基本的には、特定の列にセルの値を加えて小計を与えることです。 (私は知っている、これはサーバー側で生成する必要がありますが、ビューを呼び出すビュー、ビューを呼び出すビュー、ビューを呼び出すビューを使用してこれを開発したいくつかの頭脳...)。
私は、ボトルネックがどこにあるの感覚を取得しようとするIE9のプロファイラを使用し、時にjQueryの検索最も深遠であるように思われ、各が呼び出される:
tr.find("td").each(function() {
&
tr.find("td").eq(ci).html(tot).css
場合、私はすべてのコードを掲載します無名の表の行とセルをループするより効率的な方法があるのでしょうか?
表は次のようになります。
テーブルの行を通じて32 47 0/0 0 8 1 1
32 47 -7 0/0 0 0 7
Totals -7 0/0 8 1 8
32 47 0/0 0 2 1 1
32 47 -7 0/0 0 3 7
Totals -7 0/0 5 1 8
Iループと私は(TD:最初の)発見した場合=「合計」を、私は、変数に現在のTRと、前の2つのtrのを置きますセルをつかんで合計を計算し、それらの合計を適切なセルに配置します。
これはすべて動作しますが、私が見つけたときには深刻なボトルネックがあります。
私は朝に/この夜、それを試してみて、私の調査結果を報告します...ありがとう! – wali
+1 - 'rows'と' cells'プロパティはテーブルの反復を高速化するのに最適です。私が追加できるのは、現在の行と現在のセルを各 'for'ループにキャッシュすることだけです。これらのプロパティの検索が追加されます。 – user113716
...実際には、それはちょうど行になると思う。セルではありません。 – user113716