为什么DOM操作需要这么长时间?

时间:2012-12-13 16:03:55

标签: javascript dom

我过去曾经读过,操纵DOM是你在javascript中可以做的最昂贵的事情之一。我也在perfs中看过它。为什么需要这么长时间?

2 个答案:

答案 0 :(得分:3)

由于文档重排,这种缓慢发生。来自Google Developers Speeding up JavaScript: Working with the DOM guide

  

使用DOM会导致浏览器重排,这是浏览器确定应该如何显示的过程。直接操作DOM,更改元素的CSS样式以及调整浏览器窗口的大小都可以触发重排。访问元素的布局属性(例如offsetHeight和offsetWidth)也可以触发重排。由于每次重排都需要时间,我们可以越多地减少浏览器重排,我们的应用程序就越快。

答案 1 :(得分:2)

每次更新DOM时,都会重新呈现文档。布局非常复杂。