- Home ›
- JavaScript入門 ›
- DOM入門
ノードの名前を取得(nodeName)
Node オブジェクトの nodeName プロパティを参照するとノードの名前を取得することができます。ノードの名前はノードの種類によって異なり、常に同じ値を返すノードの種類もありますし、ノードに設定されているタグ名を返すものもあります。ここでは nodeName プロパティの使い方について解説します。
(Last modified: )
目次
ノードの名前を取得する
Node オブジェクトの nodeName プロパティを参照するとノードの名前を取得することができます。書式は次の通りです。
node.nodeName
戻り値はノードの名前を表す DOMString オブジェクトが戻されます。名前はノードの種類によって異なっています。
Node Type Node Name --------------------------------------------------------------- 1 ELEMENT_NODE Element.tagNameの値 2 ATTRIBUTE_NODE Attr.nameの値 3 TEXT_NODE "#text" 4 CDATA_SECTION_NODE "#cdata-section" 5 ENTITY_REFERENCE_NODE 実体参照名 6 ENTITY_NODE 実体名 7 PROCESSING_INSTRUCTION_NODE ProcessingInstruction.targetの値 8 COMMENT_NODE "#comment" 9 DOCUMENT_NODE "#document" 10 DOCUMENT_TYPE_NODE DocumentType.nameの値 11 DOCUMENT_FRAGMENT_NODE "#document-fragment" 12 NOTATION_NODE 記法名
例えばノードの種類が ELEMENT_NODE (要素ノード) の場合、要素のタグ名がノードの名前として返されます。ノードの種類が TEXT_NODE (テキストノード) の場合、常に "#text" という値がノードの名前として返されます。
次のサンプルを見てください。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>nodeName</title> </head> <body> <p>今日は外でランチを食べました</p> <div id="blog"> <p>朝から外出していたのでランチは外で頂きました。</p> <!-- お店の情報 --> <div> <p>場所:港区南青山</p> <p>店名:リストランテ南青山</p> </div> </div> <button onClick="getElements();">要素を取得</button> <script> function getElements(){ let element = document.getElementById('blog'); let children = element.childNodes; let len = children.length; for (let i = 0; i < len; i++){ console.log(children.item(i).nodeName); } } </script> </body> </html>
表示されたボタンをクリックすると、 id 属性の値が 'blog' のノードを取得し、そのノードの子ノードをすべて取得します。そのあとで、子ノードのノード毎にノードの名前を取得してコンソールに出力しています。
「空白ノード」で解説していますが、要素の前後に空白や改行がある場合は空白ノード(テキストノード)が存在します。その為、テキストノードの名前である "#text" が要素ノードやコメントノードの前後に現れています。
-- --
nodeName プロパティの使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。