使用
文档片段可以具有复杂的结构。例如,假设它代表着以下内容:
或者是包含多个子元素的文档片段:
通常情况下,当我们完成文档片段的构建后,会将其附加到主DOM树上。这样做会发生多少次回流?这取决于文档片段的直接子元素数量吗?
更新:我收到了谷歌Chrome团队的Addy Osmani的回复:
只有一次DOM回流。PS:我们更倾向于将回流称为布局,因为它基本上是触发页面布局/重绘的事件。
DocumentFramgment
可以让我们将DOM元素相互连接而不会导致浏览器重排(即在离线DOM树上工作)。很多类库,如jQuery,都使用文档片段来提高性能。文档片段可以具有复杂的结构。例如,假设它代表着以下内容:
<div>
<span>
<a href='asd'>asd</a>
</span>
<span>
<a href='asd2'>asd2</a>
</span>
<div>
<div>
Hello World
</div>
</div>
</div>
或者是包含多个子元素的文档片段:
<h2>Title 1</h2>
<p>Lorem ipsum.</p>
<p>Lorem ipsum.</p>
<h2>Title 2</h2>
<p>Lorem ipsum.</p>
<p>Lorem ipsum.</p>
通常情况下,当我们完成文档片段的构建后,会将其附加到主DOM树上。这样做会发生多少次回流?这取决于文档片段的直接子元素数量吗?
更新:我收到了谷歌Chrome团队的Addy Osmani的回复:
只有一次DOM回流。PS:我们更倾向于将回流称为布局,因为它基本上是触发页面布局/重绘的事件。