2 min read

DOM Manipulation

The Document Object Model (DOM) is a programming interface for web documents. It represents the page so that programs can change the document structure, style, and content. The DOM represents the document as a tree of objects; each object corresponds to a part of the document, like an element, an attribute, or a text node.

Selecting Elements

You can select elements from the DOM in various ways:

  • getElementById(id): Selects a single element by its ID.
  • getElementsByTagName(tagName): Selects a collection of elements by their tag name.
  • getElementsByClassName(className): Selects a collection of elements by their class name.
  • querySelector(selector): Selects the first element that matches a CSS selector.
  • querySelectorAll(selector): Selects a NodeList of all elements that match a CSS selector.

Modifying Elements

Once you have selected an element, you can modify it:

  • element.innerHTML: Gets or sets the HTML content within an element.
  • element.textContent: Gets or sets the text content of an element and its descendants.
  • element.setAttribute(name, value): Sets the value of an attribute on an element.
  • element.style.property: Gets or sets the value of a CSS property.

Creating and Appending Elements

You can create new elements and add them to the DOM:

  • document.createElement(tagName): Creates a new element with the specified tag name.
  • parentNode.appendChild(newNode): Adds a new child node to the end of the list of children of a specified parent node.
  • parentNode.insertBefore(newNode, referenceNode): Inserts a new node before a reference node.

Removing Elements

You can remove elements from the DOM:

  • parentNode.removeChild(childNode): Removes a child node from the DOM.
  • element.remove(): Removes the element from the DOM (a more modern and simpler way).