- 堀北真希うさぎ
-
- 主な作品
制作者が作ったイラストと動画作品の一例
- サイト表紙
- しらぎくのウェブサイト作成入門
- DOMリファレンス
- 文書ノードとDocumentインタフェイス
DOMに於いて、文書ノード(文書全体のノード)とそれに実装されるDocumentインタフェイスについての解説です。
文書ノードとは、文書全体と言うノードで、文書に於いて最上位のノードとなります。
Documentインタフェイスとは、この文書ノードに実装されるインタフェイスです。
通常のHTML文書は一つの文書ノードとなりますが、Ajaxなどで外部から別の文書を取り込んだ場合、取り込んだ文書はAjaxのコードを走らせているHTML文書とは別の文書ノードとなります。
文書ノードの直下にあるノード、すなわち子ノードは以下のようになります。
尚、要素ノードは一つしか存在しない事となっております。
- HTML文書で言えば、<html>要素が文書ノードの直下にある唯一の要素ノードとなります。
- つまり、文書ノードの直下にある要素ノードは、ルート要素ノードとなる訳です。
文書ノードのNodeインタフェイスの値は、以下のようになります。
- nodeTypeプロパティ
- 9 を与えます。
- nodeNameプロパティ
- #document を与えます。
- nodeValueプロパティ
- null値を与えます。
文書ノードに実装されるDocumentインタフェイスは、以下のプロパティとメソッドを実装します。
文書ノードに実装されるDocumentインタフェイスは、以下のプロパティを実装します。
doctypeプロパティ
- 当該文書と関連付けられた文書型宣言です。(上書不可)
implementationプロパティ
- 当該文書を処理する他のオブジェクトに関するプロパティです。(上書不可)
documentElementプロパティ
- 当該文書のルート要素ノードを与えるプロパティです。(上書不可)
文書ノードに実装されるDocumentインタフェイスは、以下のメソッドを実装します。
createElement()メソッド
- 指定された要素名の要素ノードを新規に生成します。
詳細はcreateElement()メソッド(要素ノードの新規生成)をご覧ください。
createDocumentFragment()メソッド
- 空のフラグメントノードを新規に生成します。
createTextNode()メソッド
- テキストノードを新規に生成します。
詳細はcreateElement()メソッド(テキストノードの新規生成)をご覧ください。
createComment()メソッド
- 注釈宣言ノードを新規に生成します。
createCDATASection()メソッド
- CDATAノードを新規に生成します。
createProcessingInstruction()メソッド
- 処理命令ノードを新規に生成します。
createAttribute()メソッド
- 属性ノードを新規に生成します。
createEntityReference()メソッド
- 実体参照ノードを新規に生成します。
getElementsByTagName()メソッド
- 文書内にある指定された要素名の下位要素ノードの配列を与えます。
詳細はgetElementsByTagName()メソッド(要素名で指定された下位要素配列の取得)をご覧ください。
JAVAスクリプトでの文書ノードは通常 window.document オブジェクトとなります。
- 通常は
window. を略して document オブジェクトとして扱います。
しかし、Ajaxで外部から別の文書を取り込んだ場合、responseXML プロパティで与えられた外部XML文書も、それ自体が別の文書ノードとなります。
異なる文書ノードにあるノードを移転させる事は出来ません。
特に、Ajaxで外部から別の文書を取り込んだ場合、responseXML プロパティで得られるオブジェクトは元のHTML文書とは異なる文書となるため、単純に取得してきたXML文書の要素を元のHTML文書に附加する事やその逆の行為は出来ないと言う事になります。
しらぎくのウェブサイト作成入門サイトマップ