Menyeleksi dengan DOM

Setelah di Bab 3 kita belajar bagaimana cara JavaScript menemukan satu elemen melalui document.getElementById(), sekarang kita naik satu level:

Bagaimana kalau ada banyak elemen yang ingin kita ambil sekaligus?

Dalam halaman web nyata, sering kali kita harus mengubah sekelompok elemen — misalnya:

  • semua <p>

  • semua tombol dengan class tertentu

  • semua item list

  • semua kartu produk

  • semua kotak notifikasi

Untuk itu JavaScript menyediakan dua alat yang sangat penting:

  • document.getElementsByTagName()

  • document.getElementsByClassName()

Di bab ini, kita akan mempelajari:

  • Bagaimana cara mengambil banyak elemen sekaligus

  • Perbedaan Tag Name vs Class Name

  • Apa itu HTMLCollection

  • Apa bedanya HTMLCollection dengan Array

  • Bagaimana cara mengakses elemen ke-0, ke-1, dst

  • Contoh kasus dunia nyata

Tujuan materi ini: Agar kita bisa membuat halaman web dengan perubahan massal — bukan hanya satu elemen, tetapi banyak sekaligus dengan efisien.


A. Konsep Dasar: Mengambil Banyak Elemen

Ketika kita mengambil banyak elemen, JavaScript mengembalikan sesuatu yang disebut:

HTMLCollection

Ini mirip seperti:

  • daftar barang

  • list buku di perpustakaan

  • kumpulan meja di kelas

  • atau barisan mobil di parkiran

HTMLCollection mirip array, tetapi bukan array asli. Namun tetap bisa diakses seperti:


B. document.getElementsByTagName()

1. Apa itu?

Metode untuk mengambil semua elemen berdasarkan nama tag HTML.

Format:

Ini akan mengembalikan semua elemen <p> di halaman.


2. Analogi Dunia Nyata

Bayangkan kita masuk ke perpustakaan dan berkata:

“Tolong kumpulkan semua buku Novel!”

Maka petugas perpustakaan akan memberikan daftar semua novel yang ada. Tag Name bekerja seperti itu:

  • “p” = paragraf

  • “div” = kotak

  • “button” = tombol

  • “h1”, “h2”, dll


3. Contoh HTML

Mengambilnya:

Sekarang items berisi 3 elemen <p>.

Mengubah elemen pertama:

Mengubah semuanya:


C. document.getElementsByClassName()

1. Apa itu?

Metode untuk mengambil semua elemen berdasarkan class tertentu.

Format:


2. Analogi Dunia Nyata

Bayangkan sebuah sekolah dengan banyak kelas:

  • Class “XI-RPL”

  • Class “XII-RPL”

  • Class “XII-TKJ”

Kalau kita bilang:

“Tolong kumpulkan semua siswa dari kelas XII-RPL!”

Maka kita akan mendapatkan seluruh siswa kelas XII-RPL — bukan satu siswa saja.

Itulah yang dilakukan Class Name.


3. Contoh HTML

Mengambilnya:

Mengubah elemen pertama:

Mengubah semua elemen:


D. Perbandingan Tag Name vs Class Name

Kriteria
getElementsByTagName
getElementsByClassName

Berdasarkan

Nama tag

Nama class

Hasil

HTMLCollection

HTMLCollection

Cocok untuk

Semua elemen <p>, <div>

Grup elemen berdasarkan kategori

Jumlah elemen

Banyak

Banyak


E. Contoh Kasus Dunia Nyata

1) Mengubah seluruh paragraf di artikel


2) Mengubah warna semua elemen notifikasi


3) Menambahkan label “NEW” pada semua produk baru


4) Mewarnai semua tombol submit


F. Kesalahan Umum (Sesuai Pola Soal)

Kesalahan:

Yang benar:


Kesimpulan

Di Bab 4 ini kita belajar kemampuan penting dalam manipulasi DOM:

  • Bagaimana cara mengambil banyak elemen sekaligus

  • Cara menggunakan getElementsByTagName() dan getElementsByClassName()

  • Cara mengakses elemen [0], [1], dst

  • Cara melakukan perubahan massal lewat loop

  • Contoh nyata yang sering dipakai di web modern

Sekarang mari kita refleksikan:

Dengan kemampuan untuk memanipulasi banyak elemen sekaligus, hal apa yang bisa kita buat di halaman web?

Beberapa gagasan:

  • Mengubah tema warna seluruh halaman

  • Menyorot semua paragraf penting

  • Menandai semua item “baru” atau “diskon”

  • Membuat animasi sederhana pada banyak elemen

  • Men-custom tampilan list produk atau data

Cobalah tulis satu ide: “Apa hal yang ingin kita ubah pada banyak elemen dalam satu waktu?”

Karena di Bab 5 nanti, kita akan belajar teknik berikutnya yang membuat halaman web menjadi interaktif:

🎯 Event Handling: onclick

Kita akan belajar bagaimana sebuah elemen bisa berubah hanya karena kita klik tombol atau melakukan aksi tertentu.

Last updated