Episode 39 of 46
Removing Elements from the DOM
Learn how to remove and replace HTML elements with JavaScript.
Just as you can add elements, you can also remove and replace them dynamically.
remove() — Modern Method
let element = document.querySelector(".old-banner");
element.remove(); // Gone! Simple as that.
removeChild() — Classic Method
let parent = document.querySelector(".container");
let child = document.querySelector(".remove-me");
parent.removeChild(child);
Replacing Elements
// Create replacement
let newHeading = document.createElement("h2");
newHeading.textContent = "Updated Title";
// Replace old with new
let oldHeading = document.querySelector("h1");
oldHeading.replaceWith(newHeading);
// Classic way
let parent = oldHeading.parentElement;
parent.replaceChild(newHeading, oldHeading);
Clearing All Children
let container = document.querySelector(".container");
// Method 1: Set innerHTML to empty
container.innerHTML = "";
// Method 2: Remove children one by one
while (container.firstChild) {
container.removeChild(container.firstChild);
}
// Method 3: replaceChildren with nothing
container.replaceChildren();
Practical Example — Remove List Items on Click
let list = document.querySelector("ul");
list.addEventListener("click", function(e) {
if (e.target.tagName === "LI") {
e.target.remove();
console.log("Item removed!");
}
});
Hiding vs Removing
// Hide (still in DOM, just invisible)
element.style.display = "none";
// Remove (completely gone from DOM)
element.remove();