javascript – 为什么这个jquery这么慢?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么这个jquery这么慢?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用一个jquery插件来修复我生成的html表上的标题.不幸的是,插件性能非常慢,我把它缩小到以下代码

var $tbl = $(this);  
var $tblhfixed = $tbl.find("thead");  
$tblhfixed.find("th").each(function ()    
    $(this).css("width",$(this).width());  
});

在一张有2,000行的桌子上花费大约40秒钟.有谁知道为什么它如此缓慢,更重要的是如何让它更快?我已经尝试了很多其他插件,这是唯一一个按照我想要的方式工作的插件.谢谢你的帮助

最佳答案
罪魁祸首可能是.each.

原因是当你使用.each而不是普通循环进行迭代时,你会为每次迭代调用一个函数.在这种情况下,函数调用具有相当大的开销,因为必须为每次迭代创建一个新的调用堆栈.

使其变化更快

$tblhfixed.find("th").each(function ()    
    $(this).css("width",$(this).width());  
});

var elms = $tblhfixed.find("th");
for(var i=0,elm;elm = elms[i];i++) {
    elm.css("width",elm.width());  
}
原文链接:https://www.f2er.com/jquery/427929.html

猜你在找的jQuery相关文章