DOM
::Node インターフェイス
編集:2022.10.31 by T.A.
[Edge]。→、
mdn: DOM の Node インターフェイスは、他の多くの DOM API オブジェクトのベースとなる抽象的な基底クラスです。したがって、これらのオブジェクト型と類似しており、しばしば交換して使用することができます。抽象クラスであるため、単なる Node オブジェクトというものは存在しません。Node の機能を実装しているオブジェクトはすべて、そのサブクラスの一つをベースにしています。最も注目すべきものは、Document、Element、DocumentFragment です。
mdn: それに加えて、あらゆる種類の DOM ノードが Node を基底とするインターフェイスで表現されます。これには、Attr、CharacterData(Text、Comment、CDATASection、ProcessingInstruction がすべて既定とするもの)、DocumentType、Notation、Entity、EntityReference があります。
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 で返します。
テスト