In dieser letzten Lektion setzt du dein Wissen praktisch um. Du entwickelst ein komplettes, kleines JavaScript-Projekt, das DOM-Manipulation, Events, Funktionen, Arrays/Objekte und saubere Struktur vereint. Der Fokus liegt nicht auf „vielen Features“, sondern auf sauberem Denken und korrektem Aufbau.
Das Projekt soll zeigen, dass du:
todo/
index.html
style.css
app.js
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>To-Do Liste</title>
<script defer src="app.js"></script>
</head>
<body>
<h1>Meine To-Do-Liste</h1>
<input id="todoInput" type="text" placeholder="Neue Aufgabe">
<button id="addBtn">Hinzufügen</button>
<ul id="todoList"></ul>
</body>
</html>
app.js.
Wir beginnen mit DOM-Zugriffen und einer Datenstruktur.
document.addEventListener("DOMContentLoaded", () => {
const input = document.getElementById("todoInput");
const button = document.getElementById("addBtn");
const list = document.getElementById("todoList");
const todos = [];
});
button.addEventListener("click", () => {
const text = input.value.trim();
if (text === "") return;
todos.push(text);
input.value = "";
renderTodos();
});
function renderTodos() {
list.innerHTML = "";
todos.forEach((todo, index) => {
const li = document.createElement("li");
li.textContent = todo;
const delBtn = document.createElement("button");
delBtn.textContent = "✕";
delBtn.addEventListener("click", () => {
removeTodo(index);
});
li.appendChild(delBtn);
list.appendChild(li);
});
}
function removeTodo(index) {
todos.splice(index, 1);
renderTodos();
}
li.classList.toggle("done");
Wenn du dieses Projekt selbstständig umsetzen kannst, beherrschst du die Grundlagen von JavaScript im Browser. Alles Weitere ist Ausbau, nicht Neuanfang.