従来の ASP で生成された約 600 行のテーブルをループする document.ready で呼び出される関数があります。「最新の」ブラウザー (Chrome、Firefox、IE9 Beta) では、1.5 ~ 2 秒未満で実行されます。IE6 では、約 5 ~ 7 秒で実行され、あまり良くありません。
基本的に私がやっていることは、特定の列のセルの値を追加して小計を出すことです。(これはサーバー側で生成する必要があることはわかっていますが、ビューを呼び出すビュー、ビューを呼び出すビュー、ビューを呼び出すビューを使用してこれを開発した頭脳派もいます...)。
私は IE9 のプロファイラーを使用して、ボトルネックがどこにあるかを把握しようとしましたが、jQuery の find と each が呼び出されたときに最も深刻なようです。
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
テーブルの行をループし、(td:first) = "Totals" が見つかった場合は、現在の tr と前の 2 つの tr を変数に配置し、セルを取得して合計を計算し、それらの合計を適切なセルに配置します。 .
これはすべて機能しますが、私が言ったように、find と each の間に深刻なボトルネックがあります。