javascriptweb developmentdom manipulation

Document Object Model (DOM) Manipulation in JavaScript

By Swann
Picture of the author
Published on
DOM Manipulation in JavaScript

Introduction

The Document Object Model (DOM) represents the structure of an HTML document. JavaScript, being a primary client-side scripting language, provides robust capabilities to manipulate the DOM, enabling dynamic interactions and modifications to the content and structure of web pages.

What is the DOM?

The DOM is a hierarchical representation of an HTML document, where each element, attribute, and piece of text is represented as a node. This tree-like structure allows developers to traverse, modify, delete, or add nodes, making web pages interactive and dynamic.

Accessing Elements

Before manipulating the DOM, one must access the desired elements. JavaScript provides several methods for this:

  • getElementById(): Access an element by its unique ID.
  • getElementsByTagName(): Access elements by their tag name.
  • getElementsByClassName(): Access elements by their class name.
  • querySelector(): Access the first element matching a specified CSS selector.
  • querySelectorAll(): Access all elements matching a specified CSS selector.
let mainTitle = document.getElementById('main-title');
let paragraphs = document.getElementsByTagName('p');
let highlights = document.getElementsByClassName('highlight');
let firstButton = document.querySelector('.btn');
let allButtons = document.querySelectorAll('.btn');

Modifying Content

Once you've accessed an element, you can modify its content using properties like innerText and innerHTML:

let mainTitle = document.getElementById('main-title');
mainTitle.innerText = 'Updated Title';

Changing Attributes and Styles

JavaScript allows you to change element attributes and inline styles:

let image = document.querySelector('img');
image.setAttribute('src', 'new-image.jpg');
image.style.width = '300px';

Adding and Removing Elements

You can dynamically add or remove elements from the DOM:

// Creating a new element
let newParagraph = document.createElement('p');
newParagraph.innerText = 'This is a new paragraph.';
document.body.appendChild(newParagraph);

// Removing an element
let oldParagraph = document.getElementById('old-paragraph');
oldParagraph.parentNode.removeChild(oldParagraph);

Event Listeners

A significant aspect of DOM manipulation is reacting to user actions. Event listeners allow you to execute JavaScript code in response to specific events, like clicks or key presses:

let button = document.querySelector('button');
button.addEventListener('click', function() {
    alert('Button was clicked!');
});

Conclusion

DOM manipulation is at the heart of dynamic web development with JavaScript. By understanding the methods and properties provided by the DOM API, developers can create interactive and responsive web applications, enhancing user experience and engagement.


Stay Tuned

Want to become a Next.js pro?
The best articles, links and news related to web development delivered once a week to your inbox.