Node: nodeType property
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.
Please take two minutes to fill out our short survey.
The read-only nodeType
property of a Node
interface is an integer
that identifies what the node is. It distinguishes different kind of nodes from each other,
such as elements
, text
and comments
.
Value
An integer which specifies the type of the node. Possible values are:
Node.ELEMENT_NODE
(1
)Node.ATTRIBUTE_NODE
(2
)Node.TEXT_NODE
(3
)Node.CDATA_SECTION_NODE
(4
)-
A
CDATASection
, such as<!CDATA[[ … ]]>
Node.PROCESSING_INSTRUCTION_NODE
(7
)-
A
ProcessingInstruction
of an XML document, such as<?xml-stylesheet … ?>
. Node.COMMENT_NODE
(8
)-
A
Comment
node, such as<!-- … -->
. Node.DOCUMENT_NODE
(9
)-
A
Document
node. Node.DOCUMENT_TYPE_NODE
(10
)-
A
DocumentType
node, such as<!doctype html>
. Node.DOCUMENT_FRAGMENT_NODE
(11
)-
A
DocumentFragment
node.
The following constants have been deprecated and are not in use anymore: Node.ENTITY_REFERENCE_NODE
(5
),
Node.ENTITY_NODE
(6
), and Node.NOTATION_NODE
(12
).
Examples
Different types of nodes
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 = "Once upon a time…";
p.nodeType === Node.ELEMENT_NODE; // true
p.firstChild.nodeType === Node.TEXT_NODE; // true
Comments
This example checks if the first node inside the document element is a comment, and displays a message if not.
const node = document.documentElement.firstChild;
if (node.nodeType !== Node.COMMENT_NODE) {
console.warn("You should comment your code!");
}
Specifications
Specification |
---|
DOM # ref-for-dom-node-nodetype① |