DOM

Node インターフェイス

 編集:2022.10.31 by T.A.

[Edge]。→

mdn: DOM の Node インターフェイスは、他の多くの DOM API オブジェクトのベースとなる抽象的な基底クラスです。したがって、これらのオブジェクト型と類似しており、しばしば交換して使用することができます。抽象クラスであるため、単なる Node オブジェクトというものは存在しません。Node の機能を実装しているオブジェクトはすべて、そのサブクラスの一つをベースにしています。最も注目すべきものは、DocumentElementDocumentFragment です。

mdn: それに加えて、あらゆる種類の DOM ノードが Node を基底とするインターフェイスで表現されます。これには、AttrCharacterDataTextCommentCDATASectionProcessingInstruction がすべて既定とするもの)、DocumentTypeNotationEntityEntityReference があります。

mdn: 場合によっては、ベースとなる Node インターフェイスの特定の機能が子インターフェイスに適用されないことがあります。この場合、継承するノードは状況に応じて null を返したり、例外を投げたりします。例えば、子を持てないノード型に子を追加しようとすると、例外が発生します。

EventTarget←Node

プロパティ

以下のプロパティに加え、Node は親である EventTarget からプロパティを継承しています。

Node.baseURI 読取専用
Node の文書の絶対的なベース URL を文字列で返します。
Node.childNodes 読取専用
Node の全ての子ノード リストを NodeList で返します。
Node.firstChild 読取専用
Node の最初の子ノードを Node で返します。
Node.isConnected 読取専用
ノードがコンテキストオブジェクト、例えば、通常の DOM の場合は Document オブジェクト、シャドウ DOM の場合は ShadowRoot に(直接的または間接的に)接続されているかどうかを示す論理値を返します。
Node.lastChild 読取専用
Node の最後の子ノードを Node で返します。子要素が無い場合は null となります。
Node.nextSibling 読取専用
Node の次の兄弟ノードを Node で返します。存在しない場合は null を返します。
Node.nodeName 読取専用
Node の名前を文字列で返します。
Node.nodeType 読取専用
Node の種類を表す整数の数値で返します。
Node.nodeValue
Node の値を取得/設定します。
Node.ownerDocument 読取専用
Node のノード ツリーに於けるトップ レベルのドキュメント オブジェクトを返します。
Node.parentNode 読取専用
Node の親ノードを Node で返します。
Node.parentElement 読取専用
Node の親要素を Element で返します。

親ノードが存在しない場合や親ノードが DOM Element で無い場合は null となります。

Node.previousSibling 読取専用
Node のノード ツリーに於いて兄ノードを Node で返します。

該当がない場合は null を返します。

Node.textContent
Node のテキスト内容(子孫も含まれる)を文字列で取得/設定します。

innerText とは異なります。

メソッド

以下のプロパティに加えて、親である EventTarget からメソッドを継承しています。

element.appendChild(ANode)
Node の子ノード リストの末尾に指定のノードを追加します。
Node.cloneNode(DeepFg)
Node の複製を返します。
Node.compareDocumentPosition(別Node)
Node と指定の別ノードとの位置を比較し数値で返します。
Node.contains(別Node)
Node に指定ノードが(子孫も含めて)含まれるかどうかを真偽値で返します。
Node.getBoxQuads() 実験的
このノードの CSS ボックスのうち、他のノードに関連するもののリストを返します。
Node.getRootNode(options)
Node のルート ノードを返します。

オプションでシャドウ ルートを含んだものを返す。

Node.hasChildNodes()
Node が子ノードを持つか否かを真偽値で返します。
Node.insertBefore(挿入Node,参照Node)
親ノード Node の、指定ノード2 の前に指定ノード1 を挿入します。
Node.isDefaultNamespace(名前空間URI String)
指定の名前空間が Node の規定のものであるかを論理値で返します。
Node.isEqualNode(他Node)
Node と指定ノードとが同値かどうかを返します。
Node.isSameNode(他Node)
Node と指定ノードが同一ノードか否かを返す。→「===」を使用してください。
Node.lookupPrefix(名前空間String)
Node に指定された名前空間 URI に対応する接頭辞を含む文字列を返します。ない場合は null を返します。複数の接頭辞の可能性があれば、最初の接頭辞を返します。
Node.lookupNamespaceURI(プリフィックスString)
Node の名前空間に指定の接頭辞が見つかればその URI を文字列で返します。
Node.normalize()
Node のノード ツリーを正規化します。隣り合うテキスト ノードは1つになり、空のテキスト ノードは無くなります。
Node.removeChild(子Node)
親である Node から指定の子ノードを取り除きます。そして取り除いたノードを返します。
Node.replaceChild(置き換えるNode,置き換えられる子Node)
親ノード Node の、指定の子ノードを指定の別ノードに置き換えます。そして置き換えられた Node を返します。
廃止メソッド
Node.hasAttributes() 廃止
要素がなんらかの属性を持っているか否かを true または false で返します。
Node.isSupported() 廃止
DOM 実装が特定の機能を実装しており、またその機能が指定したノードでサポートされているかを確認して、その結果を true または false で返します。

テスト