DocumentFragment インタフェースは、親ノードの無い最小限度の文書オブジェクトを表します。整形式の、または潜在的に整形式でない XML の 断片を保持するために Document の軽量版として使われます。
他のいくつかのメソッドが document fragment を引数として取ることができます(例えば、すべての Node.appendChild や Node.insertBefore のような Node インタフェースのメソッド)が、その場合に追加/挿入されるのは断片の子要素であって、断片自身ではありません。
このインタフェースは Web コンポーネントでも大いに役に立っています。<template> 要素はその HTMLTemplateElement.content 属性に DocumentFragment を含みます。
空の DocumentFragment は document.createDocumentFragment メソッドやコンストラクタを使って作成できます。
プロパティ
このインタフェースには固有の属性はありませんが、その親である Node の属性を継承し、ParentNode インタフェースの属性を実装しています。
ParentNode.children読取専用DocumentFragmentオブジェクトの子である型Elementのすべてのオブジェクトを含む、「生」のHTMLCollectionを返します。ParentNode.firstElementChild読取専用DocumentFragmentオブジェクトの最初の子であるElement、または無ければnullを返します。ParentNode.lastElementChild読取専用DocumentFragmentオブジェクトの最後の子であるElement、または無ければnullを返します。ParentNode.childElementCount読取専用DocumentFragmentが持つ子の数を表すunsigned longを返します。
コンストラクタ
DocumentFragment()- 空の
DocumentFragmentオブジェクトを返します。
メソッド
このインタフェースはその親である Node のメソッドを継承し、ParentNode インタフェースのメソッドを実装します。
DocumentFragment.find()DocumentFragmentのツリーにある最初の見つかったElementを返します。DocumentFragment.findAll()DocumentFragmentのツリーにある見つかったElementのNodeListを返します。DocumentFragment.querySelector()- 指定されたセレクタにマッチする、
DocumentFragmentの中で文書の順序で最初のElementノードを返します。 DocumentFragment.querySelectorAll()- 指定されたセレクタにマッチする
DocumentFragmentの中のすべてのElementノードのNodeListを返します。 DocumentFragment.getElementById()- 指定された ID にマッチする、
DocumentFragmentの中で文書の順序で最初のElementノードを返します。
仕様
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| DOM DocumentFragment の定義 |
現行の標準 | コンストラクタと ParentNode の実装を追加。 |
| Selectors API Level 2 DocumentFragment の定義 |
廃止された | find() と findAll() メソッドを追加。 |
| Selectors API Level 1 DocumentFragment の定義 |
廃止された | querySelector() と querySelectorAll() メソッドを追加。 |
| Document Object Model (DOM) Level 3 Core Specification DocumentFragment の定義 |
廃止された | Document Object Model (DOM) Level 2 Core Specification より変更なし |
| Document Object Model (DOM) Level 2 Core Specification DocumentFragment の定義 |
廃止された | Document Object Model (DOM) Level 1 Specification より変更なし |
| Document Object Model (DOM) Level 1 Specification DocumentFragment の定義 |
廃止された | 最初期の定義 |
ブラウザ実装状況
| 機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| 基本サポート | 1.0 | 1.0 (1.7 or earlier) | (有) | (有) | (有) |
querySelector() と querySelectorAll() |
1.0 | 3.5 (1.9.1) | 8.0 | 10.0 | 3.2 (525.3) |
findAll() と find() |
未サポート | 未サポート | 未サポート | 未サポート | 未サポート |
DocumentFragment() コンストラクタ |
28.0 | 24.0 (24.0) | 未サポート | 15.0 | 未サポート |
ParentNode の属性 |
28.0 | 25.0 (25.0) | 未サポート | 15.0 | 未サポート |
ParentNode のメソッド |
未サポート | 未サポート | 未サポート | 未サポート | 未サポート |
| 機能 | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| 基本サポート | (有) | 1.0 (1.0) | (有) | (有) | (有) |
querySelector() と querySelectorAll() |
2.1 | 3.5 (1.9.1) | 8.0 | 10.0 | 3.2 (525.3) |
findAll() と find() |
未サポート | 未サポート | 未サポート | 未サポート | 未サポート |
DocumentFragment() コンストラクタ |
? | 24.0 (24.0) | 未サポート | ? | ? |
ParentNode の属性 |
28.0 | 25.0 (25.0) | 未サポート | 5.0 | 未サポート |
ParentNode のメソッド |
未サポート | 未サポート | 未サポート | 未サポート | 未サポート |

