我有一个在 document.ready 上调用的函数,它循环遍历在经典 ASP 中生成的大约 600 行的表。在“现代”浏览器(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 和前两个 tr 放入变量中,然后抓取单元格并计算总计,并将这些总计放置在适当的单元格中.
这一切都有效,但就像我说的那样,在 find 和 each 过程中都有一个严重的瓶颈。