DOM Manipulation
We can split up DOM Manipulation into 3 main categories and 2 supplementary categories:
Selecting Elements
- getElementById() – select an element by id.
- getElementsByName() – select elements by name.
- getElementsByTagName() – select elements by a tag name.
- getElementsByClassName() – select elements by one or more class names.
- querySelector() – select elements by CSS selectors.
Traversing Elements
- Get the parent element – get the parent node of an element.
- Get child elements – get children of an element.
- Get siblings of an element – get siblings of an element.
Manipulating elements
- createElement() – create a new element.
- appendChild() – append a node to a list of child nodes of a specified parent node.
- textContent – get and set the text content of a node.
- innerHTML – get and set the HTML content of an element.
- innerHTML vs. createElement – explain the differences between innerHTML and createElement when it comes to creating new elements.
- DocumentFragment – learn how to compose DOM nodes and insert them into the active DOM tree.
- insertBefore() – insert a new node before an existing node as a child node of a specified parent node.
- insertAfter() helper function – insert a new node after an existing node as a child node of a specified parent node.
- append() – insert a node after the last child node of a parent node.
- prepend() – insert a node before the first child node of a parent node.
- insertAdjacentHTML() – parse a text as HTML and insert the resulting nodes into the document at a specified position.
- replaceChild() – replace a child element by a new element.
- cloneNode() – clone an element and all of its descendants.
- removeChild() – remove child elements of a node.
Working with Attributes
- setAttribute() – set the value of a specified attribute on a element.
- getAttribute() – get the value of an attribute on an element.
- removeAttribute() – remove an attribute from a specified element.
- hasAttribute() – check if an element has a specified attribute or not.
Manipulating Element’s Styles
- style property – get or set inline styles of an element.
- getComputedStyle() – return the computed style of an element.
- className property – return a list of space-separated CSS classes.
- classList property – manipulate CSS classes of an element.
- Element’s width & height – get the width and height of an element.