Wat is het documentobjectmodel?
Het documentobjectmodel (DOM) is een visuele weergave van een hiërarchische sjabloon of kaart van alle objecten en eigenschappen die zich in een webdocument bevinden en die door een webbrowser kunnen worden herkend. Dit browserobjectmodel specificeert ook de verschillende methoden of acties die beschikbaar zijn voor een programmeur die op of met de objecten kunnen worden uitgevoerd. Het documentobjectmodel is een weergave van programmering of, meer precies, scriptmogelijkheden. Hoewel grote browsers een generieke DOM ondersteunen, werken de scripts die in de ene browser werken mogelijk niet in een andere. Programmeurs kunnen echter veilig werken met de objecten, eigenschappen en methoden volgens een basis-DOM die gebruikelijk is voor alle belangrijke internetbrowsers.
Webdocumenten lijken slechts een enkele eenheid binnen een browservenster te zijn, maar ze zijn eigenlijk samengesteld uit verschillende objecten. Ze kunnen en bevatten vaak veel eigenschappen en ze gedragen zich op verschillende manieren vanwege de verscheidenheid aan methoden die een programmeur op de objecten van het document kan toepassen. Afbeeldingen kunnen bijvoorbeeld in een document verschijnen en worden beschouwd als objecten binnen het document, dat zelf een object is.
Koppelingen zijn ook objecten waarop programmeurs methoden kunnen gebruiken of acties kunnen uitvoeren, zoals de kleur van koppelingen wijzigen wanneer de muis erover wordt bewogen of een afbeelding wordt weergegeven of gewijzigd. DOM-scripting omvat het coderen of schrijven van kleine computerprogramma's die scripts worden genoemd en die zijn ingebed in webdocumenten. Deze scripts voegen functionaliteit toe aan webpagina's, inclusief maar niet beperkt tot de validatie van formulieren, virtuele rekenmachines, pop-upberichten, eenvoudige games, quizzen en zelfs animaties.
Programmeurs maken code volgens de mogelijkheden van het documentobjectmodel waarmee ze werken, tenzij ze ervoor kiezen om zeer conservatief te coderen met behulp van een generieke DOM om de mogelijkheid van browsercompatibiliteitsproblemen te voorkomen. Het documentobjectmodel is van belang voor programmeurs die zogenaamde client-side scripts schrijven in webontwikkeling. Webdocumenten worden opgeslagen op een webserver die de pagina's levert aan de clientcomputer die daarom heeft gevraagd en die ze visueel presenteert aan de websitebezoeker via een browser. Scripts die zijn ingesloten in de webpagina's die op de webserver zijn opgeslagen, moeten op de clientcomputer worden uitgevoerd volgens het documentobjectmodel van de browser van die clientcomputer.