dom_dom0800_010

大量の要素を追加する際の最適な方法はどれですか?

  1. forループ内でappendChildを直接呼ぶ
  2. innerHTMLをループ内で毎回更新する
  3. DocumentFragmentを使ってまとめて挿入する
  4. setIntervalで分割して追加する
正解
  1. DocumentFragmentを使ってまとめて挿入する
解説

DocumentFragmentを使うことで一度にまとめてDOMに追加でき、Reflow回数を抑えて効率的に更新できます。

使用例(サンプルコード)

[ javascript ]

const fragment = document.createDocumentFragment();
for (let i = 0; i < 1000; i++) {
  const li = document.createElement("li");
  li.textContent = `Item ${i}`;
  fragment.appendChild(li);
}
document.getElementById("list").appendChild(fragment);