【JavaScript入門】多くの要素を高速に描画する(DocumentFragment)

JavaScriptで多くの要素を高速に追加・描画する方法について記載します。

DocumentFragment を使う

要素の追加には、appendChild や insertBefore を使用しますが、次のようにすると

子要素を追加する度に、ページの再描画が行われてしまいます。

DocumentFragmentを使用すると、一括に追加・描画することができるので、描画回数が少なくなり、高速に描画することができます。

サンプル
tbody要素に1000行追加します。

html

javascript

追加する要素を、DocumentFragmentオブジェクトに追加します。

最後に、まとめてツリーに追加しています。

また、簡単ではありますが比較用に DocmentFragment と appendChild を使用して、テーブルに1000行追加するデモを作成してみました。

ページを表示すると、画面上部に描画時間が表示されます。(残念ながら自分の環境ではそれほど差はありませんでした)

DocmentFragmentのデモ

appendChildのデモ

また、DocmentFragmentのメソッドなどは、こちらのサイトを参考にすると分かりやすいと思います。

MDN DocumentFragment

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする