Node: nodeName 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.
The read-only nodeName
property of Node
returns the name of the current node as a string.
Value
A string. Values for the different types of nodes are:
Attr
-
The value of
Attr.name
, that is the qualified name of the attribute. CDATASection
-
The string
"#cdata-section"
. Comment
-
The string
"#comment"
. Document
-
The string
"#document"
. DocumentFragment
-
The string
"#document-fragment"
. DocumentType
-
The value of
DocumentType.name
Element
-
The value of
Element.tagName
, that is the uppercase name of the element tag if an HTML element, or the lowercase element tag if an XML element (like a SVG or MathML element). ProcessingInstruction
-
The value of
ProcessingInstruction.target
Text
-
The string
"#text"
.
Example
This example displays the node names of several nodes
This is some HTML:
<div id="d1">Hello world</div>
<!-- Example of comment -->
Text <span>Text</span> Text<br />
<svg height="20" width="20">
<circle cx="10" cy="10" r="5" stroke="black" stroke-width="1" fill="red" />
</svg>
<hr />
<output id="result">Not calculated yet.</output>
and the following script:
let node = document.querySelector("body").firstChild;
let result = "Node names are:\n";
while (node) {
result += `${node.nodeName}\n`;
node = node.nextSibling;
}
const output = document.getElementById("result");
output.innerText = result;
Specifications
Specification |
---|
DOM Standard # ref-for-dom-node-nodename① |
Browser compatibility
BCD tables only load in the browser