JavaScript DOM Manipulation
Complete DOM manipulation guide: selecting elements, creating, modifying, and event handling.
Selecting Elements
// Get element by ID
const elem = document.getElementById("myId");
// Query selector
const elem = document.querySelector(".class");
const elems = document.querySelectorAll(".class");
// By class/tag
const elems = document.getElementsByClassName("myClass");
Creating Elements
// Create element
const div = document.createElement("div");
div.textContent = "Hello";
div.className = "myClass";
// Append to DOM
document.body.appendChild(div);
parent.insertBefore(newNode, refNode);
Modifying Content
// Text content
elem.textContent = "New text";
elem.innerHTML = "Bold";
// Attributes
elem.setAttribute("href", "url");
elem.getAttribute("href");
elem.removeAttribute("href");
CSS & Classes
// Modify classes
elem.classList.add("active");
elem.classList.remove("hidden");
elem.classList.toggle("visible");
elem.classList.contains("active");
// Inline styles
elem.style.color = "red";
elem.style.display = "none";
Removing Elements
// Remove element
elem.remove();
parent.removeChild(elem);
// Clear all children
elem.innerHTML = "";
Event Listeners
// Add event listener
elem.addEventListener("click", (e) => {
console.log("Clicked!");
e.preventDefault();
});
// Remove listener
elem.removeEventListener("click", handler);
Traversing DOM
// Parent/children
elem.parentElement
elem.children
elem.firstElementChild
elem.lastElementChild
// Siblings
elem.nextElementSibling
elem.previousElementSibling
Element Properties
// Dimensions
elem.offsetWidth
elem.offsetHeight
elem.clientWidth
elem.scrollHeight
// Position
elem.offsetTop
elem.offsetLeft
elem.getBoundingClientRect()