Back to Roadmap
8:00

DOM Manipulation

Learn how JavaScript interacts with the DOM to dynamically update, create, and control web page content

8 MIN READ VERIFIED CURRICULUM

DOM Manipulation in JavaScript refers to the process of interacting with and changing the structure, content, and style of a web page dynamically.

The DOM (Document Object Model) represents a web page as a tree of objects that JavaScript can access and modify.

What is the DOM?

The DOM is a programming interface for HTML and XML documents.

It represents every element of a webpage as a node in a structured tree.

Why DOM Manipulation is Important

DOM manipulation allows developers to create interactive and dynamic web applications.

Without DOM manipulation, web pages would remain static and unresponsive.

Accessing DOM Elements

document.getElementById('title');
document.getElementsByClassName('item');
document.querySelector('.box');
javascript

These methods are used to select and access elements in the DOM.

querySelector and querySelectorAll

querySelector selects the first matching element, while querySelectorAll selects all matching elements.

document.querySelector('.btn');
document.querySelectorAll('p');
javascript

Changing Text Content

You can change text inside HTML elements using JavaScript.

document.getElementById('title').innerText = 'New Title';
javascript

Changing HTML Content

innerHTML allows you to update or insert HTML inside elements.

document.getElementById('box').innerHTML = '<h2>Hello</h2>';
javascript

Changing Styles

JavaScript can directly modify CSS styles of elements.

document.getElementById('box').style.color = 'red';
document.getElementById('box').style.backgroundColor = 'blue';
javascript

Adding CSS Classes

Instead of changing styles directly, you can add or remove CSS classes.

element.classList.add('active');
element.classList.remove('hidden');
element.classList.toggle('dark-mode');
javascript

Creating New Elements

JavaScript allows you to create new HTML elements dynamically.

let div = document.createElement('div');
div.innerText = 'New Element';
document.body.appendChild(div);
javascript

Removing Elements

You can remove elements from the DOM using remove().

document.getElementById('box').remove();
javascript

Event Handling in DOM

Events allow interaction with users like clicks, typing, or hovering.

document.getElementById('btn').addEventListener('click', function() {
  alert('Clicked!');
});
javascript

Event Object

The event object contains details about the triggered event.

button.addEventListener('click', function(event) {
  console.log(event.target);
});
javascript

DOM Tree Structure

The DOM is structured like a tree with parent and child relationships.

Each HTML element becomes a node in this tree.

Traversing the DOM

You can move between elements using parent, child, and sibling properties.

element.parentElement;
element.children;
element.nextElementSibling;
javascript

Form Handling with DOM

JavaScript can read and validate form inputs dynamically.

document.getElementById('form').addEventListener('submit', function(e) {
  e.preventDefault();
});
javascript

Common Beginner Mistakes

Beginners often manipulate DOM before the page fully loads.

Another mistake is overusing innerHTML instead of safer methods.

Best Practices

Use event listeners instead of inline event handlers.

Prefer classList for styling instead of direct style changes.

Real-World Importance

DOM manipulation powers interactive features like modals, dropdowns, and live updates.

It is essential for modern frontend frameworks like React and Vue.

Summary

DOM manipulation allows JavaScript to dynamically control web pages.

Mastering the DOM is essential for becoming a strong frontend developer.