Chapter 8 of 10
DOM adalah representasi halaman HTML dalam bentuk object. JavaScript dapat memilih, mengubah, membuat, dan menghapus elemen melalui DOM.
<h1 id="judul">Daftar Tugas</h1>
<input id="input-tugas" />
<button id="tambah">Tambah</button>
<ul id="daftar"></ul>
const judul = document.querySelector("#judul");
const input = document.querySelector("#input-tugas");
const tombol = document.querySelector("#tambah");
const daftar = document.querySelector("#daftar");
judul.textContent = "Tugas Hari Ini";
judul.classList.add("aktif");
judul.classList.toggle("besar");
Gunakan textContent untuk teks dari pengguna. Hindari memasukkan input pengguna melalui innerHTML karena dapat membuka celah XSS.
function tambahTugas(teks) {
const item = document.createElement("li");
item.textContent = teks;
daftar.append(item);
}
tombol.addEventListener("click", () => {
const teks = input.value.trim();
if (!teks) return;
tambahTugas(teks);
input.value = "";
input.focus();
});
Tangani tombol Enter:
input.addEventListener("keydown", event => {
if (event.key === "Enter") tombol.click();
});
Untuk banyak item, pasang satu listener pada parent.
daftar.addEventListener("click", event => {
if (event.target.matches("li")) {
event.target.classList.toggle("selesai");
}
});
Kembangkan daftar tugas agar: