Selecting and Manipulating DOM Elements in JavaScript

When it comes to building modern web applications, JavaScript is an essential programming language that allows developers to add dynamic behavior and interactivity to their websites. One of the core aspects of working with JavaScript is manipulating the Document Object Model (DOM) - the HTML structure of a web page.

The DOM represents a tree-like structure where each element, attribute, and text node is a distinct object. JavaScript provides a wide range of methods and properties to select and manipulate these DOM elements. In this article, we will explore some commonly used techniques for selecting and manipulating DOM elements using JavaScript.

Selecting DOM Elements

There are several methods in JavaScript that enable us to select specific DOM elements based on various criteria. Here are a few popular methods:


The getElementById() method allows us to select a single element by its unique ID attribute. We can use it as follows:

const element = document.getElementById('myElementId');


The getElementsByClassName() method retrieves a collection of elements that match a specified class name. It returns a live HTMLCollection, which means any changes made to the DOM will automatically be reflected in the collection:

const elements = document.getElementsByClassName('myClass');


The getElementsByTagName() method returns a collection of elements with the given tag name. For example, to select all the <div> elements on a page, we can use:

const elements = document.getElementsByTagName('div');


The querySelector() method allows us to select elements using CSS selector syntax. It returns the first element that matches the specified selector:

const element = document.querySelector('.myClass');


The querySelectorAll() method returns a static NodeList representing a list of elements that match the specified CSS selector:

const elements = document.querySelectorAll('p.myClass');

Manipulating DOM Elements

Once we have selected one or more DOM elements, we can manipulate them in various ways using JavaScript:

Changing Inner HTML

To modify the content of an element, we can use the innerHTML property. It allows us to set or retrieve the HTML content inside an element. For example:

element.innerHTML = '<p>New content</p>';

Changing Text Content

To modify the text content of an element, we can use the textContent property. Unlike innerHTML, textContent only deals with text and does not parse any HTML. For example:

element.textContent = 'This is the new text content';

Modifying Attributes

JavaScript provides various methods to modify element attributes. We can use setAttribute() to set a specific attribute to a certain value:

element.setAttribute('src', 'image.jpg');

To retrieve a current attribute value, we can use getAttribute():

const srcValue = element.getAttribute('src');

Adding or Removing Classes

We can add or remove classes to an element using the classList property:


Event Handling

JavaScript is widely used for adding interactivity to websites through event handling. We can attach event listeners to DOM elements to respond to user actions:

element.addEventListener('click', function() {
  // Code to execute when the element is clicked


Selecting and manipulating DOM elements is a fundamental skill for every JavaScript developer. Being able to access and modify elements in the DOM tree allows us to create dynamic web applications with enhanced user experiences. JavaScript provides a comprehensive set of methods and properties to perform these operations effectively. Hopefully, this article has provided you with a solid understanding of how to select and manipulate DOM elements using JavaScript. Happy coding!

noob to master © copyleft