De DOM (Document Object Model) is de representatie van je HTML in JavaScript. Met DOM-manipulatie kun je elementen selecteren, wijzigen, toevoegen of verwijderen.
Selecteren van elementen
| Methode | Beschrijving | Voorbeeld | 
|---|
| document.getElementById() | Selecteert element met ID | document.getElementById("demo") | 
| document.getElementsByClassName() | Selecteert alle elementen met class | document.getElementsByClassName("item") | 
| document.getElementsByTagName() | Selecteert alle elementen met tagnaam | document.getElementsByTagName("p") | 
| document.querySelector() | Selecteert eerste element met CSS-selector | document.querySelector(".intro") | 
| document.querySelectorAll() | Selecteert alle elementen met CSS-selector | document.querySelectorAll("div p") | 
Lezen & aanpassen van inhoud
| Eigenschap / Methode | Beschrijving | Voorbeeld | 
|---|
| .innerText | Tekstinhoud (zonder HTML) | el.innerText = "Nieuwe tekst"; | 
| .textContent | Tekst (inclusief verborgen) | el.textContent = "Tekst"; | 
| .innerHTML | HTML-inhoud (inclusief tags) | el.innerHTML = "<strong>Vet</strong>"; | 
| .value | Waarde van input-element | document.getElementById("naam").value | 
Attributen & classes
| Methode | Beschrijving | Voorbeeld | 
|---|
| .setAttribute() | Nieuw attribuut instellen | el.setAttribute("src", "foto.jpg"); | 
| .getAttribute() | Waarde ophalen | el.getAttribute("href"); | 
| .removeAttribute() | Attribuut verwijderen | el.removeAttribute("class"); | 
| .classList.add() | Class toevoegen | el.classList.add("active"); | 
| .classList.remove() | Class verwijderen | el.classList.remove("active"); | 
| .classList.toggle() | Class aan/uit schakelen | el.classList.toggle("dark"); | 
Stijlen aanpassen
| Eigenschap | Beschrijving | Voorbeeld | 
|---|
| .style.property | Inline stijl aanpassen | el.style.color = "red"; | 
| Meerdere stijlen | via class toevoegen | el.classList.add("highlight"); | 
Elementen maken & toevoegen
Andere methoden:
| Methode | Beschrijving | Voorbeeld | 
|---|
| .appendChild() | Kind toevoegen | parent.appendChild(child) | 
| .prepend() | Element vooraan toevoegen | parent.prepend(child) | 
| .insertBefore() | Element invoegen | parent.insertBefore(nieuw, bestaand) | 
| .remove() | Element verwijderen | el.remove(); | 
Events toevoegen
Veelgebruikte events:
- click– bij klik
 
- mouseover– bij hover
 
- keyup– bij toets loslaten
 
- submit– bij formulier versturen
 
- change– bij waarde veranderen
 
Traversing (navigeren door de DOM)
| Eigenschap | Beschrijving | Voorbeeld | 
|---|
| .parentNode | Bovenliggend element | el.parentNode | 
| .children | Alle child-elementen | el.children | 
| .firstChild | Eerste child | el.firstChild | 
| .lastChild | Laatste child | el.lastChild | 
| .nextElementSibling | Volgend element | el.nextElementSibling | 
| .previousElementSibling | Vorig element | el.previousElementSibling | 
Handige short-hands