Document Object Model
Home

Document Object Model

Document Object Model

Het Document Object Model is een gestandariseerde API die toelaat om een HTML of XML applicatie met behulp van een programmeertaal te manipuleren.

Wat is DOM?

Het Document Object Model (DOM) is een hiërarchische voorstelling van hoe alle elementen op een webpagina (figuren, links, textvakken,...) gerelateerd zijn ten opzichte van het hoofdelement met de naam document.

Via het DOM kan je de elementen op een webpagina:

Als de browser een pagina weergeeft wordt een DOM boomstructuur om die pagina te maken.

De HTML DOM boomstructuur
De HTML DOM boomstructuur

Als de DOM boom gemaakt is kunnen we de elementen op de pagina met behulp van JavaScript manipuleren.

Eén keer de browser het objectmodel gemaakt heeft kan JavaScript dynamische HTML te maken:

Een mooi overzicht van de mogelijkheden vind je op How to manage HTML DOMwith vanilla JavaScript only? van Phuoc Nguyen, 2020

De DOM is dus een object georiënteerde weergave van een document. Elk element van het document wordt door een object in de boomstructuur voorgesteld. Die objecten, ook wel knopen (nodes) genoemd, zijn zo georganiseerd dat ze de geneste HTML elementen die ze voorstellen weerspiegelen als een boom.

De DOM boom bevat ook objecten die geen HTML elementen voorstellen maar hulpmiddelen zijn voor de programmeur. Het table object heeft bijvoorbeeld een rows object dat niet in de pagina bestaat. Zo’n objecten bevatten nuttige informatie over de plaats, de inhoud, weergave en dimensies.

De meeste browsers beschikken over een tool waarmee je de DOM kan visualieren. In IE, Edge, Firefox en Chrome bijvoorbeeld, klik je op F12 om de Ontwikkelhulpprogramma's te openen. Of je klikt op de rechtermuisknop ergens op de webpagina en selecteert vervolgens Element inspecteren of Element controleren.

We nemen als webpagina het formulier dat we eerder gemaakt hebben in Een HTML formulier tweede versie.

DOM boomstructuur in Firefox
DOM boomstructuur in Firefox
DOM boomstructuur in Edge
DOM boomstructuur in Edge
DOM boomstructuur in Chrome
DOM boomstructuur in Chrome

JI
2020-04-08 16:57:01