之前更快地追加或创建html元素? - JQuery

时间:2013-04-20 03:07:06

标签: javascript jquery html performance

我正在努力让我的应用程序更快。我希望只有在ajax请求成功时才会出现一些元素。在请求成功时使用append创建元素是否更快,或者在实际html中创建html元素并在内容中使用.html插入内容更快?

1 个答案:

答案 0 :(得分:0)

根据此JSPerf:普通老innerHTML节拍.html()(和.html()节拍.append())。

但是根据此JSPerfDOM节拍innerHTML

因此,可能需要查看在DOM1中指定的documentFragment,甚至在IE6中支持(因此没有理由不使用它)。

由于文档片段在内存中而不是主DOM树的一部分,因此将子文件附加到其中不会导致页面重排' (元素位置和几何的计算)。因此,使用文档片段通常会带来更好的性能。

John Resig对此作了一篇很好的文章here并得出结论:

  

现代Web开发中很大程度上忽略的方法可以提供   对DOM操作的一些严重(2-3x)性能改进。

您可能希望将要优化的每个案例中的一些技术结合起来。

希望这有帮助!