【发布时间】:2011-08-30 14:16:49
【问题描述】:
以下 jQuery each 函数导致 IE8 显示“停止运行脚本?..此页面上的脚本导致浏览器运行缓慢..”消息。
$('.expand-collapse-icon').each(function() {
var dupId = $(this).parent('td').attr('duplicate-id');
var len = $(".results-table tr")
.filter(":not(:first)")
.filter(":has(.hidden-row[duplicate-id='" + dupId + "'])").length;
if (len <= 0) {
$(this).hide();
$(this).parent('td').css('padding-left', '15px');
}
});
基本上,我有许多可见的行(大约 92 个),它们具有相关的隐藏行。这些行由duplicate-id 关联每个可见行在第一个<td> 中都有一个expand-collapse-icon。如果单击该图标,它将显示隐藏的行。如果可见行没有关联的隐藏行,我不想显示图标。
理想情况下,如果没有关联的行,我可以阻止页面在服务器端显示图标,但是代码中潜伏着龙。
有什么明显的方法可以加快速度吗?
【问题讨论】:
-
这段代码什么时候运行?准备好文件了吗?你能发布一些html作为例子吗?
标签: jquery performance internet-explorer