← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 45

DOM traversal: parent, children, sibling

Navigasi pohon DOM: parentElement, children, nextElementSibling.

Pahami konsepnya

DOM adalah pohon — setelah memilih satu elemen, kamu bisa berjalan ke atas, bawah, dan samping. parentElement memberi induk; children memberi koleksi anak (HTMLCollection, bukan array); firstElementChild dan lastElementChild memberi anak pertama/terakhir.

Berjalan horizontal: nextElementSibling dan previousElementSibling memberi tetangga kanan-kiri pada level yang sama. closest("selector") naik ke atas mencari induk TERDEKAT yang cocok dengan selector — sangat berguna untuk mencari container dari tombol yang diklik.

Perbedaan penting: children hanya element node (disarankan); childNodes termasuk text node (spasi dan newline antar tag). Gunakan versi "Element" untuk navigasi yang bersih.

Coba contoh kode

<!doctype html>
<html>
<body>
  <div class="kartu">
    <h3>Judul Kartu</h3>
    <p>Isi kartu...</p>
    <button class="hapus">Hapus</button>
  </div>

  <script>
    const btn = document.querySelector(".hapus");

    // naik ke kartu induk
    const kartu = btn.closest(".kartu");
    console.log(kartu.querySelector("h3").textContent);  // Judul Kartu

    // navigasi
    console.log(kartu.parentElement.tagName);   // BODY
    console.log(kartu.children.length);         // 3 (h3, p, button)
    console.log(btn.previousElementSibling.textContent);  // Isi kartu...

    // hapus kartu dari tombol di dalamnya
    btn.addEventListener("click", () => kartu.remove());
  </script>
</body>
</html>

closest(".kartu") naik dari tombol ke div induk berkelas kartu. previousElementSibling memberi p sebelum tombol. Tombol menghapus seluruh kartu lewat kartu.remove().

Latihan singkat

Uji: fungsi cariInduk(node, kelas) — naik parentElement sampai ketemu kelas.