.createDocumentFragment()
新しい空のDocumentFragmentを作成します。
文法
var docFragment = document.createDocumentFragment();
docFragment
は、
空のDocumentFragmentオブジェクトへの参照になります。
説明
DocumentFragmentはDOMノードです。 これらが主ツリーの一部になることはありません。 通常、ドキュメントの断片(document fragment)は、 作成したドキュメントの断片へ要素を追加し、それをDOMツリーへ追加するのに使用されます。 DOMツリー内では、その全ての子はドキュメントの断片に置換されます。
ドキュメントの断片はメモリ内に置かれ、主ツリーの一部で無いため、 それに子を追加することはページのリフロー(reflow : 要素の位置と構造の計算)を発生させません。 その結果としてドキュメントの断片の使用が、 パフォーマンスの向上に繋がりやすくなります。
documentFragmentはIE6を含む全てのブラウザでサポートされているため、 これを使わない理由がありません。
例
var ul = document.getElementsByTagName("ul")[0]; //存在するものとします。
var docfrag = document.createDocumentFragment();
var browserList = ["Internet Explorer", "Mozilla Firefox", "Safari", "Chrome", "Opera"];
browserList.forEach(function(e) {
var li = document.createElement("li");
li.textContent = e;
docfrag.appendChild(li);
});
ul.appendChild(docfrag);
// よく知られたブラウザの一覧
ブラウザ互換性
機能 | Chrome | Firefox (Gecko) |
IE | Opera | Safari |
---|---|---|---|---|---|
基本 | ◯ | ◯ | ◯ | ◯ | ◯ |
機能 | Android | Firefox Mobile |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|
基本 | ? | ? | ? | ? | ? |
仕様
- DOM Level 2: createDocumentFragment
- DOM Level 3: createDocumentFragment
関連項目
© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。
- 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
- 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
- MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
- "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。