How to traverse the DOM tree (e.g., parent, child, siblings) using JavaScript?

To traverse the DOM tree using JavaScript, you can utilize various methods and properties available in the DOM API. Here are some commonly used techniques for traversing the DOM tree:

  1. Accessing Parent Elements:

    • parentNode: The parentNode property returns the parent node of an element.
    • parentElement: The parentElement property returns the parent element node of an element (excluding text and comment nodes).
  2. Accessing Child Elements:

    • childNodes: The childNodes property returns a NodeList of child nodes (including text and comment nodes) of an element.
    • children: The children property returns an HTMLCollection of child element nodes of an element.
    • firstChild: The firstChild property returns the first child node of an element.
    • lastChild: The lastChild property returns the last child node of an element.
  3. Accessing Sibling Elements:

    • previousSibling: The previousSibling property returns the previous sibling node of an element.
    • nextSibling: The nextSibling property returns the next sibling node of an element.
    • previousElementSibling: The previousElementSibling property returns the previous sibling element node of an element.
    • nextElementSibling: The nextElementSibling property returns the next sibling element node of an element.

Here's an example code snippet that demonstrates the traversal of the DOM tree:

// Get the parent element const parentElement = document.getElementById('parent'); // Traverse child elements using children property for (let i = 0; i < parentElement.children.length; i++) { const childElement = parentElement.children[i]; console.log(childElement); } // Traverse parent elements using parentNode property let currentElement = document.getElementById('child'); while (currentElement.parentNode) { currentElement = currentElement.parentNode; console.log(currentElement); } // Traverse sibling elements using nextElementSibling property let siblingElement = document.getElementById('child'); while (siblingElement.nextElementSibling) { siblingElement = siblingElement.nextElementSibling; console.log(siblingElement); }

In the above example, getElementById is used to get specific elements by their IDs. You can modify the selectors and conditions according to your own requirements.