
- HTML Home
- HTML Roadmap
- HTML Introduction
- HTML History & Evolution
- HTML Editors
- HTML Basic Tags
- HTML Elements
- HTML Attributes
- HTML Headings
- HTML Paragraphs
- HTML Fonts
- HTML Blocks
- HTML Style Sheet
- HTML Formatting
- HTML Quotations
- HTML - Comments
- HTML - Colors
- HTML - Images
- HTML - Image Map
- HTML - Frames
- HTML - Iframes
- HTML - Phrase Elements
- HTML - Code Elements
- HTML - Meta Tags
- HTML - Classes
- HTML - IDs
- HTML - Backgrounds
- HTML Tables
- HTML - Tables
- HTML - Table Headers & Captions
- HTML - Table Styling
- HTML - Table Colgroup
- HTML - Nested Tables
- HTML Lists
- HTML - Lists
- HTML - Unordered Lists
- HTML - Ordered Lists
- HTML - Definition Lists
- HTML Links
- HTML - Text Links
- HTML - Image Links
- HTML - Email Links
- HTML Color Names & Values
- HTML - Color Names
- HTML - RGB & RGBA Colors
- HTML - HEX Colors
- HTML - HSL & HSLA Colors
- HTML - HSL Color Picker
- HTML Forms
- HTML - Forms
- HTML - Form Attributes
- HTML - Form Control
- HTML - Input Attributes
- HTML Media
- HTML - Video Element
- HTML - Audio Element
- HTML - Embed Multimedia
- HTML Header
- HTML - Head Element
- HTML - Adding Favicon
- HTML - Javascript
- HTML Layouts
- HTML - Layouts
- HTML - Layout Elements
- HTML - Layout using CSS
- HTML - Responsiveness
- HTML - Symbols
- HTML - Emojis
- HTML - Style Guide
- HTML Graphics
- HTML - SVG
- HTML - Canvas
- HTML APIs
- HTML - Geolocation API
- HTML - Drag & Drop API
- HTML - Web Workers API
- HTML - WebSocket
- HTML - Web Storage
- HTML - Server Sent Events
- HTML Miscellaneous
- HTML - Document Object Model (DOM)
- HTML - MathML
- HTML - Microdata
- HTML - IndexedDB
- HTML - Web Messaging
- HTML - Web CORS
- HTML - Web RTC
- HTML Demo
- HTML - Audio Player
- HTML - Video Player
- HTML - Web slide Desk
- HTML Tools
- HTML - Velocity Draw
- HTML - QR Code
- HTML - Modernizer
- HTML - Validation
- HTML - Color Picker
- HTML References
- HTML - Cheat Sheet
- HTML - Tags Reference
- HTML - Attributes Reference
- HTML - Events Reference
- HTML - Fonts Reference
- HTML - ASCII Codes
- ASCII Table Lookup
- HTML - Color Names
- HTML - Character Entities
- MIME Media Types
- HTML - URL Encoding
- Language ISO Codes
- HTML - Character Encodings
- HTML - Deprecated Tags
- HTML Resources
- HTML - Quick Guide
- HTML - Useful Resources
- HTML - Color Code Builder
- HTML - Online Editor
HTML - DOM Element hasChildNodes() Method
"The HTML DOM Element hasChildNodes() method is used to check whether an HTML element has any child nodes inside it. A child node is a node that is present inside any parent node and can be elements, text nodes, or comment nodes.
This method returns a boolean value true if the element has any child nodes present inside it, otherwise it returns false.
Syntax
Following is the syntax of the HTML DOM Element hasChildNodes() method −
element.hasChildNodes()
Parameters
This method does not accept any parameter.
Return Value
This method returns 'true' if the element has child nodes; and 'false' otherwise.
Example 1: Checking if an Element has Child Nodes
If the specified element has any child nodes present inside it, the HTML DOM Element hasChildNodes() method will return true −
<!DOCTYPE html> <html lang="en"> <head> <title>HTML DOM Element hasChildNodes()</title> </head> <body> <h3>HTML DOM Element hasChildNodes() Method</h3> <p>Checks if the element has child nodes.</p> <div id="parentElement"> <p>Does this div have child nodes?</p> </div> <button onclick="checkChildNodes()">Check Child Nodes</button> <script> function checkChildNodes() { const parentElement = document.getElementById('parentElement'); let res = parentElement.hasChildNodes(); if (res) { alert('The parent element has child nodes: ' + res); } else { alert('Parent element doesn`t have child nodes: ' + res); } } </script> </body> </html>
The above program returns "true", because the "div" has the next child node inside it.
Example 2
If the specified element has no child nodes, the HTML DOM Element hasChildNodes() method will return false −
<!DOCTYPE html> <html lang="en"> <head> <title>HTML DOM Element hasChildNodes()</title> </head> <body> <h3>HTML DOM Element hasChildNodes() Method</h3> <p>Checks if the element has child nodes.</p> <div id="parentElement"></div> <button onclick="checkChildNodes()">Check Child Nodes</button> <script> function checkChildNodes() { const parentElement = document.getElementById('parentElement'); let res = parentElement.hasChildNodes(); if (res) { alert('The parent element has child nodes: ' + res); } else { alert('Parent element doesn`t have child nodes: ' + res); } } </script> </body> </html>
Once the above program is executed, it will display "false", because the div element has no child node inside in it.
Example 3: Dynamically adds and checks child Nodes
Here is another example of how the HTML DOM Element hasChildNodes() method works. First, we will dynamically add a child node and then check whether the current element has any child nodes inside it −
<!DOCTYPE html> <html lang="en"> <head> <title>HTML DOM Element hasChildNodes()</title> </head> <body> <h3>HTML DOM Element hasChildNodes() Method</h3> <p>Add child nodes by clicking the button!!</p> <div id="parentElement"></div> <button onclick="addTextNode()">Add Child Node</button> <p>Checks for the child Nodes..</p> <button onclick="checkChildNodes()">Check Child Nodes </button> <p><b>Note:</b> No child nodes will be displayed if none have been added. </p> <script> function addTextNode() { const parentElement = document.getElementById('parentElement'); const textNode = document.createTextNode('Text node added.'); parentElement.appendChild(textNode); } function checkChildNodes() { const parentElement = document.getElementById('parentElement'); if (parentElement.hasChildNodes()) { alert('Parent element has child nodes.'); } else { alert('Parent has no child nodes.'); } } </script> </body> </html>
The above displays two buttons, the first button adds child node when clicked, and another checks whether the parent node has any child node and alert a message accordingly.
Supported Browsers
Method | ![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|
hasChildNodes() | Yes | Yes | Yes | Yes | Yes |