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 2015年7月.
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> # ref-for-dom-node-nodetype①> |
ブラウザーの互換性
Loading…