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.
Please take two minutes to fill out our short survey.
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 # ref-for-dom-node-nodename① |