Kurs HTML
29 €
Mit den DOM-Techniken aus den vorherigen Kapiteln baust du Oberflächen, die sich aus Daten zusammensetzen: Listen, Tabellen, Menüs, Karten und Formularfelder – erzeugt und aktualisiert per JavaScript.
Aus einem Array erzeugst du Listenpunkte und hängst sie an eine ul oder ol. So bleibt die Ansicht im Sync mit deinen Daten.
1const namen = ["Anna", "Ben", "Clara"];
2const liste = document.querySelector("ul");
3
4namen.forEach(function(name) {
5 const eintrag = document.createElement("li");
6 eintrag.textContent = name;
7 liste.appendChild(eintrag);
8});Für tabellarische Daten erzeugst du tr- und td-Elemente und fügst sie in den tbody ein – Zeile für Zeile aus deinen Objekten.
1const personen = [
2 { name: "Anna", alter: 28 },
3 { name: "Ben", alter: 34 },
4];
5
6const tbody = document.querySelector("tbody");
7
8personen.forEach(function(person) {
9 const zeile = document.createElement("tr");
10 zeile.innerHTML = "<td>" + person.name + "</td><td>" + person.alter + "</td>";
11 tbody.appendChild(zeile);
12});| Anna | 28 |
| Ben | 34 |
Navigationslinks lassest du aus einer Datenstruktur entstehen. Ändert sich die Struktur, aktualisierst du nur die Daten – nicht das HTML von Hand.
1const links = [
2 { text: "Start", href: "/" },
3 { text: "Kurse", href: "/kurse" },
4 { text: "Kontakt", href: "/kontakt" },
5];
6
7const nav = document.querySelector("nav ul");
8
9links.forEach(function(link) {
10 const li = document.createElement("li");
11 const a = document.createElement("a");
12 a.textContent = link.text;
13 a.href = link.href;
14 li.appendChild(a);
15 nav.appendChild(li);
16});Produkt- oder Infokarten baust du als article- oder div-Blöcke mit Klasse und Inhalt – ideal für Raster und Übersichten.
1const produkte = [
2 { titel: "Kurs HTML", preis: "29 €" },
3 { titel: "Kurs CSS", preis: "39 €" },
4];
5
6const container = document.querySelector("#produkte");
7
8produkte.forEach(function(produkt) {
9 const karte = document.createElement("article");
10 karte.className = "karte";
11 karte.innerHTML =
12 "<h3>" + produkt.titel + "</h3>" +
13 "<p>" + produkt.preis + "</p>";
14 container.appendChild(karte);
15});29 €
39 €
Dynamische UIs bedeuten auch: Felder nach Bedarf hinzufügen – z. B. per Button ein weiteres input anhängen.
1const button = document.querySelector("#feld-hinzufuegen");
2const formular = document.querySelector("form");
3
4button.addEventListener("click", function() {
5 const feld = document.createElement("input");
6 feld.type = "text";
7 feld.name = "zusatz";
8 feld.placeholder = "Weiteres Feld";
9 formular.appendChild(feld);
10});Im nächsten Kapitel lernst du: Formulare mit JavaScript