U bent hier:
De Document Object Model (DOM) Level 1 is een standaard voor het beschrijven van de hiërarchie van XML en HTML elementen in het geheugen van de computer. Het is vergelijkbaar met een boommodel. DOM geeft scripttalen de mogelijkheid deze elementen te manipuleren.
DOM is opgezet als een platform- en scriptonafhankelijke API (Application Programming Interface): een toegang voor scripts en programmeertalen voor het manipuleren van documenten. De DOM kan worden gebruikt door server-side scripts en programma’s die met XML te maken hebben.
Van origine is een HTML-bestand in het geheugen van de browser niet meer dan een lange rij karakters, een string. DOM beschrijft markup op een andere manier: als zelfstandige objecten (elementen) met eigenschappen (attributen). Niet alleen HTML- en XML-elementen en attributen worden zo beschreven, ook de tekst binnen de elementen bestaat uit aparte objecten. Client-side scripts kunnen worden gebruikt om deze objecten aan te spreken en te manipuleren.
Uit het platform- en scriptonafhankelijke karakter van DOM blijkt het doel ervan: uitwisselbaarheid. DOM maakt het mogelijk dat programma’s op een eenduidige manier markup aanspreken en manipuleren.
DHTML (Dynamic HTML) is een niet-officiële verzamelterm voor visuele effecten door middel van client-side scripts, CSS en HTML. Het benaderen van met name het HTML-gedeelte (de structuur van de pagina-inhoud) kan op verschillende manieren en DOM is er daar één van. DOM gaat echter verder dan visuele effecten.
DOM kan worden toegepast voor visuele effecten, maar heeft vooral zijn nut in het zonder herladen aanpassen van pagina-inhoud aan de handelingen van de bezoeker. Zo kan een formulier reageren op de invoer van de bezoeker en bepaalde vragen tonen of weglaten. De mogelijkheden voor webapplicaties, zoals een CMS (Content Management Systeem) zijn eindeloos.
Ondersteuning voor de DOM is iets van de afgelopen jaren. Moderne versies van webbrowsers bieden steeds betere ondersteuning, maar op veel punten is deze nog inconsistent of niet volledig.