aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/api/document/createdocumentfragment
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/web/api/document/createdocumentfragment')
-rw-r--r--files/ja/web/api/document/createdocumentfragment/index.html97
1 files changed, 97 insertions, 0 deletions
diff --git a/files/ja/web/api/document/createdocumentfragment/index.html b/files/ja/web/api/document/createdocumentfragment/index.html
new file mode 100644
index 0000000000..3812ec0571
--- /dev/null
+++ b/files/ja/web/api/document/createdocumentfragment/index.html
@@ -0,0 +1,97 @@
+---
+title: Document.createDocumentFragment()
+slug: Web/API/Document/createDocumentFragment
+tags:
+ - API
+ - DOM
+ - Document
+ - Method
+ - Reference
+ - createDocumentFragment
+translation_of: Web/API/Document/createDocumentFragment
+---
+<p>{{APIRef("DOM WHATWG")}}</p>
+
+<p><span class="seoSummary">新しい空の {{domxref("DocumentFragment")}} を作成し、そこに DOM ノードを追加して画面外の DOM ツリーを作成します。</span></p>
+
+<h2 id="Syntax" name="Syntax">構文</h2>
+
+<pre class="syntaxbox notranslate">var <var>fragment</var> = document.createDocumentFragment();
+</pre>
+
+<h3 id="Value" name="Value">値</h3>
+
+<p>新しく作成された空の {{domxref("DocumentFragment")}} オブジェクトで、中にノードが挿入できるものです。</p>
+
+<h2 id="Usage_notes" name="Usage_notes">使用上の注意</h2>
+
+<p><code>DocumentFragment</code> は DOM の {{domxref("Node")}} オブジェクトですが、メインの DOM ツリーの一部にはなりません。通常の使い方は、文書フラグメントを生成し、その文書フラグメントに要素を追加して、その文書フラグメントを DOM ツリーへ追加することです。 DOM ツリー内では、文書フラグメントはすべての子要素によって置き換えられます。</p>
+
+<p>文書フラグメントは<em>メモリ内</em>にあり、メインの DOM ツリーの一部ではないため、文書フラグメントに子要素を追加してもページの<a href="https://developers.google.com/speed/articles/reflow?csw=1">リフロー</a> (要素の位置と大きさを決定するための計算) が行われません。そのため文書フラグメントを利用することによって、<a href="http://ejohn.org/blog/dom-documentfragments/">性能の改善</a>が見込まれます。</p>
+
+<p><code>DocumentFragment</code> コンストラクターを使用して新しいフラグメントを生成することもできます。</p>
+
+<pre class="brush: js notranslate">let fragment = new DocumentFragment();</pre>
+
+<h2 id="Example" name="Example">例</h2>
+
+<p>この例では、主要なウェブブラウザのリストを <code>DocumentFragment</code> 内に作成し、表示するドキュメントに新しい DOM サブツリーを追加しています。</p>
+
+<h3 id="HTML">HTML</h3>
+
+<pre class="brush: html notranslate">&lt;ul id="ul"&gt;
+&lt;/ul&gt;</pre>
+
+<h3 id="JavaScript">JavaScript</h3>
+
+<pre class="brush: js notranslate">var element = document.getElementById('ul'); // ul が存在することを仮定
+var fragment = document.createDocumentFragment();
+var browsers = ['Firefox', 'Chrome', 'Opera',
+ 'Safari', 'Internet Explorer'];
+
+browsers.forEach(function(browser) {
+ var li = document.createElement('li');
+ li.textContent = browser;
+ fragment.appendChild(li);
+});
+
+element.appendChild(fragment);
+</pre>
+
+<h3 id="Result" name="Result">結果</h3>
+
+<p>{{EmbedLiveSample("Example", 600, 140)}}</p>
+
+<h2 id="Specifications" name="Specifications">仕様書</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">仕様書</th>
+ <th scope="col">状態</th>
+ <th scope="col">備考</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('DOM WHATWG', '#dom-document-createdocumentfragment', 'Document.createDocumentFragment()')}}</td>
+ <td>{{Spec2('DOM WHATWG')}}</td>
+ <td>DOM 1 仕様書にて初回定義</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
+
+<div>
+<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
+
+<p>{{Compat("api.Document.createDocumentFragment")}}</p>
+</div>
+
+<h2 id="See_also" name="See_also">関連情報</h2>
+
+<ul>
+ <li>{{domxref("DOMImplementation.createDocument", "document.implementation.createDocument()")}}</li>
+ <li>{{domxref("documentFragment")}}</li>
+</ul>