HTML DOM nodeName Property

Last Updated : 19 Aug, 2026

The nodeName property is used to return the name of the specified node as a string. It returns different values for different nodes such as if the node attributes, then the returned string is the attribute name, or if the node is an element, then the returned string is the tag name. It is a read-only property. 

Syntax

document.nodeName

Return values: This property returns the name of the current node. The returned value is a string.

  • For element nodes, the returned value is the tagname.
  • For attribute nodes, the returned value is the name of the attribute
  • For document, comment, and text nodes, the returned value is "#document", "#comment" and "#text" respectively.

Example: In this example, we will use the nodeName property

HTML
<!--Driver Code Starts-->
<!DOCTYPE html>
<html>

<head>
    <title>DOM nodeName Property</title>
</head>
<body style="text-align: center">
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>
    <h2>DOM nodeName Property</h2>
    <div id="p">
        Click to get the node name of this element.
    </div>
    <br>
<!--Driver Code Ends-->

    <button onclick="geek()">Click me!</button>
    <p id="p1"></p>
    <script>
        function geek() {
            let x = document.getElementById("p").nodeName;
            document.getElementById("p1").innerHTML = x;
        }
    </script>

<!--Driver Code Starts-->
</body>
</html>
<!--Driver Code Ends-->
  • On Element nodes, nodeName and tagName return the same value. However, nodeName works on all node types, while tagName exists only on Element nodes.
  • It returns different values depending on the node type
    • Element: tag name (uppercase in HTML, e.g. "DIV")
    • Text: "#text"
    • Comment: "#comment"
    • Document: "#document"
Comment