Changing Classes
Add, remove, toggle, and check CSS classes on DOM elements using the classList API to let CSS handle styling from JavaScript.
Add, remove, toggle, and check CSS classes on DOM elements using the classList API to let CSS handle styling from JavaScript.
The classList API lets you add, remove, toggle, and check CSS classes on any DOM element. The goal is to let CSS handle all the visual changes — JavaScript just switches classes on and off.
const el = document.querySelector(".box");
el.classList.add("active"); // adds the classel.classList.remove("active"); // removes the classel.classList.toggle("active"); // adds if missing, removes if presentel.classList.contains("active"); // true or falsetoggle is what you want for show/hide, open/close, selected/unselected patterns:
button.addEventListener("click", () => { menu.classList.toggle("open");});Then in CSS:
.menu { display: none;}
.menu.open { display: block;}JavaScript controls the state. CSS controls the appearance. Clean separation.
el.classList.add("visible", "animated", "fade-in");You can also do el.className = 'active', but this replaces all existing classes. classList methods are additive — they leave other classes intact.
// Dangerous — wipes all classesel.className = "active";
// Safe — only changes 'active'el.classList.add("active");Use classList unless you specifically need to replace everything.