Node: nodeType プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
nodeType
は Node
インターフェイスの読み取り専用プロパティであり、整数値でこのノードが何であるかを識別します。これは様々なノードの種類、例えば elements
、text
、comments
を見分けます。
値
整数値で、このノードの種類を識別します。可能な値は次の通りです。
Node.ELEMENT_NODE
(1
)Node.ATTRIBUTE_NODE
(2
)Node.TEXT_NODE
(3
)Node.CDATA_SECTION_NODE
(4
)-
<!CDATA[[ … ]]>
のようなCDATASection
です。 Node.PROCESSING_INSTRUCTION_NODE
(7
)-
<?xml-stylesheet … ?>
のような XML 文書のProcessingInstruction
です。 Node.COMMENT_NODE
(8
)-
<!-- … -->
のようなComment
ノードです。 Node.DOCUMENT_NODE
(9
)-
Document
ノードです。 Node.DOCUMENT_TYPE_NODE
(10
)-
<!DOCTYPE html>
のようなDocumentType
ノードです。 Node.DOCUMENT_FRAGMENT_NODE
(11
)-
DocumentFragment
ノードです。
Node.ENTITY_REFERENCE_NODE
(5
), Node.ENTITY_NODE
(6
), Node.NOTATION_NODE
(12
) は非推奨になっており、使用されなくなっています。
例
様々な種類のノード
js
document.nodeType === Node.DOCUMENT_NODE; // true
document.doctype.nodeType === Node.DOCUMENT_TYPE_NODE; // true
document.createDocumentFragment().nodeType === Node.DOCUMENT_FRAGMENT_NODE; // true
const p = document.createElement("p");
p.textContent = "昔々…";
p.nodeType === Node.ELEMENT_NODE; // true
p.firstChild.nodeType === Node.TEXT_NODE; // true
コメント
次の例は、ノードの最初の要素がコメントノードであるかをチェックし、そうでない場合にメッセージを表示するものです。
js
const node = document.documentElement.firstChild;
if (node.nodeType !== Node.COMMENT_NODE) {
console.warn("コメントを入れてください。");
}
仕様書
Specification |
---|
DOM Standard # ref-for-dom-node-nodetype① |
ブラウザーの互換性
BCD tables only load in the browser