DOM Manipulation 🌐
The DOM (Document Object Model) is your web page’s live tree. JavaScript can inspect, update, and listen to it in real time.
1) Selecting Elements 🎯
const title = document.querySelector("h1");
const buttons = document.querySelectorAll("button.primary");querySelectorgrabs the first match.querySelectorAll(orgetElementById, etc.) grabs multiple nodes.
2) Changing Content ✏️
title.textContent = "Updated";
title.innerHTML = "<strong>Updated</strong>";
title.classList.add("highlight");- Prefer
textContentfor safety (no HTML parsing). - Use
classListto add/remove CSS classes.
3) Creating & Appending Nodes 🧱
const item = document.createElement("li");
item.textContent = "New task";
document.querySelector("ul").append(item);append,prepend,before,after,removecontrol placement.
4) Event Handling 🛎️
const form = document.querySelector("form");
form.addEventListener("submit", event => {
event.preventDefault();
console.log("Submitted!", new FormData(form));
});- Always call
event.preventDefault()for SPA-style forms. - Use
event.targetandevent.currentTargetto inspect sources. - Remember to
removeEventListenerfor cleanup in long-lived pages.
5) Dynamic Updates ⚡
- Toggle classes for showing/hiding elements.
- Inject fragments for lists:
const fragment = document.createDocumentFragment();
data.forEach(item => {
const li = document.createElement("li");
li.textContent = item;
fragment.append(li);
});
list.replaceChildren(fragment);Key Takeaways ✅
- Select precisely with
querySelectorand update usingtextContent,classList, and DOM creation APIs. - Listen for events, prevent default behaviors as needed, and clean up listeners.
- Batch DOM updates (fragments) to keep pages smooth.
Recap 🔄
DOM manipulation turns raw data into interactive pages: grab nodes, change their content or styles, and react to user events for a responsive experience.
Last updated on