W3jar
366 words
2 minutes

How to Check If HTML Element Exists In JavaScript

To check if an HTML element exists in JavaScript, you can use several methods depending on your specific needs and the context in which you’re working. Here are some common approaches:

1. Using document.querySelector#

document.querySelector returns the first element that matches a specified CSS selector. If no elements match, it returns null.

const element = document.querySelector("#myElement");
if (element) {
    // The element exists
    console.log("Element exists!");
} else {
    // The element does not exist
    console.log("Element does not exist.");
}

2. Using document.getElementById#

If you know the ID of the element you’re checking for, document.getElementById is a straightforward option. It returns null if the element is not found.

const element = document.getElementById("myElement");
if (element) {
    // The element exists
    console.log("Element exists!");
} else {
    // The element does not exist
    console.log("Element does not exist.");
}

3. Using document.getElementsByClassName#

For elements with a specific class name, document.getElementsByClassName returns a live HTMLCollection. If the collection is empty, it means no elements were found.

const elements = document.getElementsByClassName("myClass");
if (elements.length > 0) {
    // At least one element with the class exists
    console.log("Element exists!");
} else {
    // No elements with the class exist
    console.log("Element does not exist.");
}

4. Using document.getElementsByTagName#

Similar to getElementsByClassName, document.getElementsByTagName returns a live HTMLCollection of elements with the specified tag name.

const elements = document.getElementsByTagName("div");
if (elements.length > 0) {
    // At least one element with the tag exists
    console.log("Element exists!");
} else {
    // No elements with the tag exist
    console.log("Element does not exist.");
}

5. Using document.querySelectorAll#

document.querySelectorAll returns a static NodeList of all elements that match the specified CSS selector. If the NodeList is empty, no elements matched the selector.

const elements = document.querySelectorAll(".myClass");
if (elements.length > 0) {
    // At least one element with the class exists
    console.log("Element exists!");
} else {
    // No elements with the class exist
    console.log("Element does not exist.");
}

Example in a Real Context#

If you’re trying to check for an element that might be added dynamically, you might use one of these methods after the DOM is fully loaded. Here’s an example using document.querySelector:

document.addEventListener("DOMContentLoaded", function () {
    const element = document.querySelector("#myElement");
    if (element) {
        console.log("Element exists!");
    } else {
        console.log("Element does not exist.");
    }
});

By using these methods, you can effectively determine the presence of HTML elements in your JavaScript code.