木構造の各要素ノード
DOMのルートノードはdocument
で<html>
要素がその唯一の子ノード
。
<html>
には2つの子ノード(
ノードの種類
- 親ノード
- 子ノード
- 子孫ノード
- 祖先ノード
document
document
も含めDOMツリーの各ノードはクラスNodeのインスタンス。
Nodeのオブジェクトはプロパティとして親や子の要素を表すparentNode
やchildeNodes
を持っているほかnodeName
やnodeType
といった識別のためのプロパティも持っている。
<script>
console.log('その客は');
コンソールに表示される。
console.log(document instanceof Node);//true
instanceof
演算子でオブジェクトが特定のクラスに属しているのかを確認することができます。
出典
documentはNodeクラスのインスタンスなのでtrue
console.log(document.parentNode); //null
documentには親のノードがいない
console.log(document.childNodes);
// NodeList(2) [<!DOCTYPE html>, html.client-nojs]
documentの子要素を表す。
console.log(document.nodeType); //9
.nodeType
ノードの種類を取得
出典
console.log(document.nodeName);//#document
.nodeName
ノードの名前を取得
出典
const children = document.childNodes;
console.log(`子供の数${children.length}`); //子供の数2
.length
子要素の数を表示
console.log(children[0]);
console.log(children[0].nodeType);
console.log(children[1]);
console.log(children[1].nodeType);
console.log(children[2]);
console.log(Node.ELEMENT_NODE);
console.log(children[1].nodeType === Node.ELEMENT_NODE);
console.log(Node.TEXT_NODE);
console.log(children[1].childNodes[1].childNodes);
</script>
感想
まだわからないことだらけだ。
勉強しよう。
出典