nodeType、nodeValue、nodeNameについて

javascript

nodeType、nodeValue、nodeNameについて

ノードにはnodeTypeと呼ばれるノードの種類を表すものがあります。
nodeTypeは言語仕様では12種類指定されており、現在では非推奨のものもあります。

値はunsigned short型で定義されています。

以下、全12種類のnodeTypeを記載します。

ELEMENT_NODE                 1
ATTRIBUTE_NODE               2(非推奨)
TEXT_NODE                    3
CDATA_SECTION_NODE           4(非推奨)
ENTITY_REFERENCE_NODE        5(非推奨)
ENTITY_NODE                  6(非推奨)
PROCESSING_INSTRUCTION_NODE  7
COMMENT_NODE                 8
DOCUMENT_NODE                9
DOCUMENT_TYPE_NODE          10
DOCUMENT_FRAGMENT_NODE      11
NOTATION_NODE               12(非推奨)

nodeTypeについての検証は行いませんが、前回の投稿でnextSiblingによる探索を試した際、
HTMLのDOMからTextオブジェクトを取得した結果をconsole出力した結果を記載していました。
具体的には2つの例になりますが、その時の出力結果を引用すると、

「Textオブジェクト」の場合、nodeType は 3 が取得できていました。
(以下の出力はnextSiblingを試した時のもの)

c1.nextSibling -> [object Text]
wholeText : 
         
assignedSlot : null
splitText : function splitText() { [native code] }
data : 
         
length : 3
previousElementSibling : [object HTMLDivElement]
nextElementSibling : [object HTMLDivElement]
after : function after() { [native code] }
appendData : function appendData() { [native code] }
before : function before() { [native code] }
deleteData : function deleteData() { [native code] }
insertData : function insertData() { [native code] }
remove : function remove() { [native code] }
replaceData : function replaceData() { [native code] }
replaceWith : function replaceWith() { [native code] }
substringData : function substringData() { [native code] }
nodeType : 3
nodeName : #text
(以下省略)

また、「HTMLDivElementオブジェクト」の場合、nodeType は 1 が取得できていました。
(以下の出力はnextSiblingを試した時のもの)

c1.nextSibling -> [object HTMLDivElement]
align : 
title : 
lang : 
translate : true
dir : 
hidden : false
accessKey : 
draggable : false
spellcheck : true
autocapitalize : 
(出力途中は省略)
nodeType : 1
nodeName : DIV

また、nodeValueについては、Textオブジェクトに持つ内容を示し、
nodeNameについては、そのオブジェクトが持つElementのタグ名を示します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です