2009-10-07 35 views
0

我想知道是否有替代jquery .html(变量)函数?它看起来很慢,并且在将html插入DOM时冻结。jQuery的.html函数的更快选择?

我尝试使用innerHtml,而且工作很好,速度也非常快。但由于某种原因,当我插入代码中有任何jquery或MS ajax时,这些脚本只能在FF中工作。

我试图插入大约2000行代码。

+1

当你说2000行代码时,你是否调用.html 2000次? – Matt 2009-10-07 19:44:29

+0

不,我将一个ASPX文档插入到包含2000行代码的页面中。实际上,我将它用于Tab键系统,当您在Feed之间切换时有点像Facebook上。 – Adam 2009-10-09 15:01:46

回答

3

问题是,您在页面中插入的jquery或ms ajax(javascript)代码未被评估。 jQuery中生成.html方法会为你,但如果你想使用.innerHtml,你必须手动评价它,使用eval()函数:

eval(«javascript code here»); 

所以步骤,使用插入HTML innerHtml,然后使用eval函数仅评估JavaScript部分。

0

如果你更详细地说明你的问题,那将会很棒。 一般来说,不需要进行2000 .html()更新,您必须将它加入到更大的.html()调用中,因为在每个.html()整个DOM重建之后,这会导致速度变慢。

0

我刚刚在读this answer,并且在使用DOM document fragments的评论中有一个链接,并且它与“正常”方法相比有多快?查看它。它实际上并没有将基准与jQuery进行比较,但它会给你一个大致的想法。