innerHTML
| Czyścimy listę zadań za jednym zamachem za pomocą innerHTML
Zadanie, które dodaliśmy w poprzedniej lekcji wyświetla się bezpośrednio w przeglądarce jako węzeł DOM, czyli część prawdziwej strony internetowej, a nie w konsoli, tak jak wcześniej. Jesteśmy coraz bliżej celu.
Spróbujmy teraz dla odmiany wyczyścić naszą listę za jednym zamachem - przyda nam się to w przyszłości. Możemy to zrobić (jak zwykle) na kilka sposobów, a najprostszym z nich jest skorzystanie z właściwości innerHTML
, czyli dosłownie wewnętrzny HTML.
Dzięki tej właściwości dowolnego węzła DOM, możemy przypisać dowolny kod HTML do danego elementu. Nie zagłębiajmy się w szczegóły, tylko przypiszmy do naszej listy... pusty ciąg znaków! W ten sposób usuniemy cały HTML, który znajduje się wewnątrz <ul>
, czyli elementy listy <li>
, zawierające nasze zadania:
// na wszelki wypadek zadeklarujmy listę jeszcze raz:
const tasksList = document.getElementById("tasks-list");
// czyścimy listę:
tasksList.innerHTML = "";
console.log(tasksList); // => zadania zniknęły!
Zaszalejmy i przypiszmy ten kod do funkcji deleteAllTasks
:
function deleteAllTasks() {
// na wszelki wypadek zadeklarujmy listę jeszcze raz:
const tasksList = document.getElementById("tasks-list");
// czyścimy listę:
tasksList.innerHTML = "";
console.log(tasksList); // => zadania zniknęły!
}
Teraz wiemy, jak dodawać zadania jako węzły drzewa DOM, czyli przekształcać je w kod HTML naszej strony internetowej w przeglądarce, a potem je usuwać za jednym zamachem. Pobaw się trochę tym kodem znowu, dodaj kilka zadań, potem je usuń.
Możesz też odświeżyć stronę i spróbować samodzielnie od nowa uzyskać dostęp do naszej listy za pomocą document.getElementById()
i dodać tam zadania za pomocą document.createElement()
, textContent
i appendChild()
.
Wszystko jest fajnie, ale jeśli odświeżymy stronę, to zniknie zarówno kod, który stworzyliśmy, jak również i nasze zadania...
Dlatego w kolejnej lekcji przeniesiemy to, czego nauczyliśmy się, do nowego pliku JavaScript w snippets
, modyfikując stworzone wcześniej funkcje i podłączymy się do localStorage
, by stamtąd ściągać zadania i wyświetlać je już nie w konsoli, tylko na stronie internetowej w przeglądarce.
Do dzieła!