職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

ノードの子・親・兄弟ノードを取得

2024年07月08日 | JavaScript

ノードの子・親・兄弟ノードを取得

【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、

【すべての子ノードを取得する】
Document オブジェクトの getElementById メソッドquerySelector メソッドなどを使って要素ノードを取得したあと、 Node オブジェクトの childNodes プロパティを参照することで、このノードの 1 つ下の階層にある子ノードをすべて取得することができます。

・書式
node.childNodes

このプロパティは参照専用です。戻り値として NodeList オブジェクトを返します。

NodeList オブジェクトは複数のノードの集合です。 NodeList オブジェクトでは length プロパティitem メソッドが用意されており、次のように取得したノードの数を取得したり、取得したノードを取り出すことができます。

let element = document.getElementById('main');
let children = element.childNodes;

// 取得したノードの数を取得
let len = children.length;

// インデックスを指定して Node オブジェクトを取得
let element = children.item(0);

// 次の形式でもインデックスを指定して Node オブジェクトを取得
let element = children[0];

 子ノードが複数あった場合、 HTML ページの中で記述された順番にインデックスが割り当てられています。インデックスは最初が 0 で 1, 2, 3... と続いていきます。子ノードが見つからなかった場合、 childNodes プロパティは length が 0 の NodeList オブジェクトを返します。


「ボタン」をクリックする

id 属性の値が box の div 要素には p 要素が 2 つ含まれているだけですが、「空白ノード」で解説したようにノードとして取得する場合は HTML 文の記述の仕方によっては空白ノードが含まれます。今回も p 要素の前後に空白ノードが含まれるため子ノードは全部で 5 つになっています。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする