Glossar-Eintrag

DOM

Einführung und Definition

Das DOM (Docu­ment Object Model) ist eine Pro­gram­mier­schnitt­stelle (API) für HTML- und XML-Doku­mente. Es stellt die Inhalte, Struk­tur und Stile einer Web­seite als baum­ar­tige Daten­struk­tur dar, die von Pro­gram­mier­spra­chen wie Java­Script mani­pu­liert wer­den kann.

Das DOM erlaubt Entwickler:innen, Web­sei­ten dyna­misch zu ver­än­dern, indem sie Ele­mente hin­zu­fü­gen, ent­fer­nen oder aktua­li­sie­ren. Jedes Ele­ment auf einer Web­seite, wie z. B. ein Absatz oder ein Bild, wird im Docu­ment Object Model als Kno­ten (Node) dargestellt.

Bedeutung des Document Object Model in der Webentwicklung

Das Docu­ment Object Model ist ein zen­tra­ler Bestand­teil der moder­nen Web­ent­wick­lung, da es die Grund­lage für die Inter­ak­ti­vi­tät und Dyna­mik von Web­sei­ten bil­det. Bei­spiele für die Nutzung:

  • Dyna­mi­sches Laden von Inhal­ten: Daten kön­nen per AJAX oder Fetch gela­den und ins Docu­ment Object Model ein­ge­fügt werden.
  • Benut­zer­inter­ak­tion: Das Docu­ment Object Model ermög­licht die Reak­tion auf Benut­zer­ak­tio­nen wie Klicks, Tas­ten­drü­cke oder Mausbewegungen.
  • Sty­ling und Ani­ma­tion: Mit dem Docu­ment Object Model kön­nen CSS-Eigen­schaf­ten geän­dert oder Ani­ma­tio­nen gesteu­ert werden.

Aufbau und Struktur 

Das Docu­ment Object Model reprä­sen­tiert eine Web­seite als hier­ar­chi­schen Baum. Die Struk­tur besteht aus:

  1. Docu­ment-Objekt: Der Ein­stiegs­punkt, der die gesamte Seite repräsentiert.
  2. Ele­ment-Kno­ten: Jedes HTML-Ele­ment wie <div>, <p> oder <img> wird als Kno­ten dargestellt.
  3. Text-Kno­ten: Der Text­in­halt inner­halb eines Elements.
  4. Attri­bute-Kno­ten: Attri­bute wie class, id oder src, die mit Ele­men­ten ver­bun­den sind.

Bei­spiel eines Docu­ment Object Model-Baums für HTML:

<html>
  <body>
    <h1>Willkommen</h1>
    <p>Dies ist ein Absatz.</p>
  </body>
</html>

Docu­ment Object Model-Baum:

  • html
    • body
      • h1
        • Text: “Will­kom­men”
      • p
        • Text: “Dies ist ein Absatz.”

Funktionsweise

  1. Par­sing: Wenn der Brow­ser eine Web­seite lädt, wird das HTML in den DOM-Baum umgewandelt.
  2. Mani­pu­la­tion: Java­Script kann das Docu­ment Object Model nut­zen, um Inhalte zu ändern, Ereig­nisse zu über­wa­chen oder Ele­mente zu stylen.
  3. Ren­de­ring: Ände­run­gen am Docu­ment Object Model füh­ren dazu, dass der Brow­ser die Seite aktua­li­siert und neu rendert.

Nutzung des Document Object Model in JavaScript

Java­Script bie­tet zahl­rei­che Metho­den, um mit dem Docu­ment Object Model zu arbeiten.

Auswählen von Elementen

  • document.getElementById('id'): Wählt ein Ele­ment anhand sei­ner ID aus.
  • document.querySelector('.class'): Wählt das erste Ele­ment mit einer bestimm­ten Klasse oder einem Selektor.

Manipulation von Elementen

  • element.innerHTML: Ändert den HTML-Inhalt eines Elements.
  • element.style.color: Setzt CSS-Eigen­schaf­ten.
  • element.appendChild(child): Fügt ein neues Ele­ment hinzu.

Ereignissteuerung

  • element.addEventListener('click', function): Fügt einem Ele­ment einen Ereig­nis-Lis­te­ner hinzu.

Bei­spiel:

document.getElementById('button').addEventListener('click', () => {
  document.getElementById('text').innerHTML = 'Hallo Welt!';
});

Vorteile

  • Dyna­mik: Web­sei­ten kön­nen wäh­rend der Lauf­zeit ver­än­dert werden.
  • Inter­ak­ti­vi­tät: Benut­zer­ak­tio­nen kön­nen in Echt­zeit ver­ar­bei­tet werden.
  • Stan­dar­di­sie­rung: Das DOM ist von W3C stan­dar­di­siert und brow­se­r­ü­ber­grei­fend verfügbar.

Herausforderungen

  • Per­for­mance: Häu­fige DOM-Mani­pu­la­tio­nen kön­nen zu lang­sa­mer Lade­zeit oder Ruckeln führen.
  • Kom­ple­xi­tät: Große DOM-Bäume kön­nen schwer zu debug­gen und zu ver­wal­ten sein.
  • Brow­ser­kom­pa­ti­bi­li­tät: Trotz Stan­dar­di­sie­rung gibt es klei­nere Unter­schiede in der Imple­men­tie­rung zwi­schen Browsern.
  • Spei­cher­lecks: Unsach­ge­mäße Arbeit mit Event-Lis­ten­ern oder DOM-Kno­ten kann zu Spei­cher­pro­ble­men führen.

Fazit: Die Rolle des Document Object Model im modernen Web

Das Docu­ment Object Model ist die Grund­lage für inter­ak­tive und dyna­mi­sche Web­sei­ten. Es ermög­licht Entwickler:innen, Inhalte und Stile fle­xi­bel anzu­pas­sen und Benut­zer­inter­ak­tio­nen effi­zi­ent zu ver­ar­bei­ten. Trotz sei­ner Her­aus­for­de­run­gen bleibt das Docu­ment Object Model ein unver­zicht­ba­res Werk­zeug in der Web­ent­wick­lung, ins­be­son­dere in Ver­bin­dung mit moder­nen Frame­works wie React, Angu­lar oder Vue.js, die das Docu­ment Object Model abs­tra­hie­ren und optimieren.

Zurück zum Glossar

Dein Ansprechpartner

Lutz Bischoff Geschäftsführung formwanlder interactive Frankfurt am Main
Lutz Bischoff

Geschäftsführer, Experte für Suchmaschinenoptimierung, Webentwicklung und Online-Marketing.

Barrierefreies Webdesign

Barrierefreies Webdesign

Wir setzen die Anforderungen des Barrierefreiheitsstärkungsgesetzes (BFSG) konsequent um – inklusiv, zukunftssicher und benutzerfreundlich.

Mehr erfahren
Glossar

Glossar

Lutz möchte dir unsere weiteren Glossareinträge zeigen.

Mehr erfahren
Projektvorstellung

Projektvorstellung

Tim möchte dir ein erfolgreiches Projekt von uns vorstellen.

Jetzt ansehen

Telefon

Trage deine Telefonnummer ein, um den Link zu erhalten!

Jetzt das Whitepaper downloaden!

Fordere jetzt Deine Checkliste an!

E-Mail Adresse

Trag deine E-Mail Adresse ein, um den Link zu erhalten!