Wenn eine Webseite geladen wird, erstellt der Browser aus dem HTML-Dokument das DOM (Document Object Model). Das DOM ist eine Baumstruktur aller HTML-Elemente. Über das DOM können Elemente mit Hilfe von JavaScript zu einer Webseite hinzugefügt, von ihr entfernt oder ausgetauscht werden. Beim Hinzufügen von Elementen muss das neue Element zunächst erstellt und anschließend einem bereits existierenden Element hinzugefügt werden. Soll ein Element aus der Baumstruktur entfernt werden, muss das Elternelement ermittelt und das entsprechende Element aus diesem entfernt werden. Beim Ersetzen von Elementen muss das neue Element zunächst erstellt und dann in einem bereits existierenden Element mit einem anderen ausgetauscht werden.
Mit der Methode „document.createElement()“ kann ein neues Element erstellt werden. Mit der Methode „appendChild()“ kann ein Element einem anderen Element hinzugefügt werden. Wobei mit der Methode „appendChild()“ das neue Element am Ende eingefügt wird:
HTML-Datei:
Ergebnis:
Absatzelement 1
Mit der Methode „insertBefore()“ kann ein neues Element einem existierenden Element hinzugefügt werden, wobei im Gegensatz zu „appendChild()“ das neue Element an den Anfang eingefügt wird:
HTML-Datei:
Ergebnis:
Absatzelement
Mit der Methode „removeChild()“ kann ein Element aus seinem übergeordneten Element entfernt werden. Dabei wird die Methode auf das übergeordnete Element angewendet und das zu entfernende Element übergeben:
HTML-Datei:
Ergebnis:
Absatzelement
Mit der Methode „replaceChild()“ kann ein Element durch ein anderes Element ausgetauscht werden. Dabei wird die Methode auf das übergeordnete Element angewendet und als erster Parameter das neue und als zweiter Parameter das auszutauschende Element übergeben:
HTML-Datei:
Ergebnis:
Mustertext
Als Abschlussübung kannst du folgendes Beispiel erstellen. Wird der Button „Erstellen“ angeklickt, wird aus dem Inhalt des „input“-Elements ein neues Absatzelement ersellt und in das „div“-Element „Liste“ eingefügt. Wird auf ein Absatzelement aus dem „div“-Element geklickt, wird das Absatzelement im „div“-Element „Favorit“ durch das angeklickte Absatzelement ausgetauscht:
Listenelement
Gehe dabei wie folgt vor:
Die Lösung kannst du dir hier herunterladen: