Webseiten zum Leben erwecken — mit Variablen, Funktionen, Events und der direkten Manipulation des HTML-Dokuments.
HTML ist das Skelett, CSS das Aussehen — und JavaScript? Das ist das Gehirn. Es macht Webseiten interaktiv: Buttons reagieren, Inhalte ändern sich, Daten werden verarbeitet.
Speichern Werte — Zahlen, Texte, Listen, true/false.
↓ Klick für Details
let name = "Max"; — veränderbar.
const pi = 3.14; — nicht veränderbar (Konstante).
var alter = 15; — alte Variante, besser let oder const nutzen.
Faustregel: Immer const, es sei denn der Wert ändert sich — dann let.
String, Number, Boolean, Array, Object — und mehr.
↓ Klick für Details
"Hallo" → String (Text)
42 → Number (Zahl)
true / false → Boolean (Wahrheitswert)
[1, 2, 3] → Array (Liste)
{name: "Max", alter: 15} → Object (Schlüssel-Wert-Paare)
JS ist dynamisch typisiert — Variablen haben keinen festen Typ.
Wiederverwendbare Code-Blöcke, die eine Aufgabe erledigen.
↓ Klick für Details
function gruss(name) { return "Hallo " + name; }
Aufruf: gruss("Max") → "Hallo Max"
Arrow-Function (modern):
const gruss = (name) => "Hallo " + name;
Funktionen sind DAS Kernkonzept — fast alles in JS passiert in Funktionen.
Entscheidungen treffen: Wenn-Dann-Sonst.
↓ Klick für Details
if (alter >= 18) { ... } else { ... }
Vergleichsoperatoren: === (strikt gleich), !== (strikt ungleich), >, <, >=, <=
Logisch: && (und), || (oder), ! (nicht)
Achtung: == statt === macht Typ-Konvertierung — das führt zu Bugs!
Schreibe JavaScript und drücke Ausführen — wie die echte Browser-Konsole (F12). Probiere die Beispiele aus den Karten!
Zum Ausprobieren:
const kann nicht neu zugewiesen werdenlet für Werte, die sich ändernDas Document Object Model ist die Baumstruktur, die der Browser aus eurem HTML erstellt. JavaScript kann diesen Baum lesen, verändern und erweitern — das macht Webseiten dynamisch.
Findet das erste Element, das zum CSS-Selektor passt.
↓ Klick für Details
document.querySelector("#titel") → findet <h1 id="titel">
document.querySelector(".intro") → findet erstes Element mit Klasse intro
document.querySelector("button") → findet den ersten Button
Nutzt CSS-Selektoren — alles, was ihr in A3 gelernt habt, funktioniert hier!
Findet alle passenden Elemente als NodeList.
↓ Klick für Details
document.querySelectorAll("p") → alle Absätze
Ergebnis ist eine NodeList — ähnlich wie ein Array:
const items = document.querySelectorAll("li");
items.forEach(item => { ... });
Text, Klassen, Styles, Attribute — alles manipulierbar.
↓ Klick für Details
el.textContent = "Neuer Text";
el.innerHTML = "<strong>Fett</strong>";
el.style.color = "red";
el.classList.add("aktiv");
el.classList.toggle("sichtbar");
classList.toggle() ist perfekt für Ein/Aus-Effekte!
Klicke auf die Buttons und beobachte, was mit dem Element passiert:
Das ist ein Absatz. JavaScript kann mich verändern!
Events sind das Herzstück interaktiver Webseiten: Ein Klick, eine Tastatureingabe, ein Scroll — all das sind Events, auf die JavaScript reagieren kann.
Wird ausgelöst, wenn der Nutzer auf ein Element klickt.
↓ Klick für Details
Das häufigste Event. Funktioniert auf allen sichtbaren Elementen.
element.addEventListener("click", handler)
Auch Touch auf Mobilgeräten löst ein click-Event aus.
Reagiert auf Texteingaben und Formularänderungen.
↓ Klick für Details
"input" → feuert bei jedem Tastendruck (live).
"change" → feuert erst, wenn das Feld den Fokus verliert.
Zugriff auf den Wert: event.target.value
Reagiert auf Tastatureingaben.
↓ Klick für Details
document.addEventListener("keydown", (e) => { console.log(e.key); })
e.key gibt den Tastennamen zurück: "Enter", "Escape", "a", etc.
Nützlich für Shortcuts, Spiele, Formular-Navigation.
Maus betritt / verlässt ein Element.
↓ Klick für Details
Ideal für Hover-Effekte, die per CSS allein nicht reichen.
Alternative: mouseenter / mouseleave — ohne Event-Bubbling.
Tipp: Für reine visuelle Hover-Effekte ist CSS :hover effizienter!
Drei Buttons, drei Events — beobachte den Counter und das Event-Log.
JavaScript kann neue HTML-Elemente erzeugen und ins Dokument einfügen:
Wenn der Browser eine HTML-Datei mit JavaScript lädt — in welcher Reihenfolge passieren diese Schritte?
7 Fragen — von Grundlagen bis Anwendung.
Klicke auf eine Karte, um die Definition aufzudecken.
„Öffnet diese Lerneinheit im Browser, drückt F12 und geht in die Konsole. Findet heraus: Wie viele Event-Listener sind auf dieser Seite aktiv? Welche Elemente werden per querySelector angesprochen? Versucht, per Konsole den Seitentitel oder eine Farbe zu ändern."