当前位置:  开发笔记 > 编程语言 > 正文

最快的DOM插入

如何解决《最快的DOM插入》经验,为你挑选了2个好方法。

进行DOM插入的最佳做法是什么?

在循环中一次插入大块html vs元素是否更快?

你插入什么html或者块大小有什么关系?

插入表更快,而使用表hack只插入行?

Christoph.. 18

设置innerHTML通常比插入单独的节点更快.

另一种可能性是创建一个DocumentFragment,它允许一次插入所有节点.使用DocumentFragments的另一个优点是它们可以轻松克隆,可以替换很多用例,innerHTML并且可能更快,因为不涉及解析.



1> Christoph..:

设置innerHTML通常比插入单独的节点更快.

另一种可能性是创建一个DocumentFragment,它允许一次插入所有节点.使用DocumentFragments的另一个优点是它们可以轻松克隆,可以替换很多用例,innerHTML并且可能更快,因为不涉及解析.



2> annakata..:

innerHTML插入比DOM操作1:1略快,并且在你实际插入多个节点和属性等的情况下获得更多...但是它更容易出错且危险,因为它本质上是一个伪装的eval语句.

根据我的经验,JS现在如此之快,以至于innerHTML的速度提升并不能证明除了最大的插入/迭代批次之外的任何风险.

简而言之,您希望尽可能少地进行DOM操作,因此在创建插入层次结构时的一个提示是在内存中相互创建它们,然后在最后可能的时刻将最高元素插入到DOM中.这为浏览器留下了最少的渲染更新.再说一次,我们谈的是几分之一毫秒......


有趣的是,为了删除节点,`innerHTML`要慢得多 - http://jsperf.com/empty-an-element/4
推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有