DOM

Om DOM - Document Object Model

En webbsida har i regel någon form av HTML i botten. HTML-koden står för struktur och fungerar som behållare till information på sidan. För att kunna komma åt denna struktur och dess innehåll från vissa programmeringsspråk har det tagits fram en modell som beskriver allt som finns på en HTML-sida. Modellen heter Document Object Model, eller DOM, och finns i ett par olika varianter. Vi ska i det här avsnittet mest titta på den standard som kommer från W3C och om det inte är någon annan version som nämns är det den som menas.

Varför vill man då kunna komma åt strukturen på HTML-sidan? En anledning är för att skapa extra effekter direkt i webbläsaren, alltså utan att behöva anropa webbservern för att skicka ut en ny sida. Det är då ganska lätt att komma åt DOM och ändra HTML-sidans utseende beroende på vad användaren gör på sidan. Det kan handla om att hjälpa till med ifyllning av formulär, byta ut bilder när musen förs över något på sidan, ändra storlek på texten osv.

Att det är en modell betyder att den avspeglar det som finns på sidan. Ett dokument är uppbyggt med element som har andra elements inuti eller som ligger i andra element. Huvudelementet i HTML heter just HTML och är en behållare för hela dokumentet. I DOM heter motsvarande element document vilket passar ganska bra. Precis som i den HTML som ligger till grund för DOM innehåller sedan document alla de saker som utgör innehåll och struktur på sidan. Dvs alla rubriker, paragrafer, listor, formulär osv.

Men om DOM bara härmar HTML varför går det då inte att använda sig av HTML istället för DOM när man vill komma åt elementen? HTML består av endast text som ligger statiskt på sidan medan DOM läses in i webbläsarens minne som en struktur, just för detta ändamål. Så istället för att göra om HTML till något som går att manipulera har DOM skapats för att sköta detta.