🧠 Apa Itu DOM?
DOM (Document Object Model) adalah representasi struktur dari dokumen HTML dalam bentuk objek JavaScript. Saat halaman web dimuat, browser mengubah HTML menjadi struktur pohon (tree) yang bisa diakses dan dimanipulasi dengan JavaScript.
Contoh HTML:
1<p id="teks">Halo dunia!</p>
2
1<p id="teks">Halo dunia!</p>
2
Dengan JavaScript, kamu bisa mengakses elemen ini:
1let paragraf = document.getElementById("teks");
2console.log(paragraf.innerText); // Output: Halo dunia!
3
1let paragraf = document.getElementById("teks");
2console.log(paragraf.innerText); // Output: Halo dunia!
3
🎯 Cara Akses Elemen DOM
Ada beberapa metode yang sering digunakan:
1document.getElementById("id") // by ID
2document.getElementsByClassName("class") // by class (HTMLCollection)
3document.getElementsByTagName("tag") // by tag (HTMLCollection)
4document.querySelector("selector") // by CSS selector (mengembalikan satu elemen)
5document.querySelectorAll("selector") // by CSS selector (semua elemen)
6
1document.getElementById("id") // by ID
2document.getElementsByClassName("class") // by class (HTMLCollection)
3document.getElementsByTagName("tag") // by tag (HTMLCollection)
4document.querySelector("selector") // by CSS selector (mengembalikan satu elemen)
5document.querySelectorAll("selector") // by CSS selector (semua elemen)
6
Contoh:
1let tombol = document.querySelector("#submit");
2
1let tombol = document.querySelector("#submit");
2
✍️ Mengubah Konten dan Atribut
Mengubah teks:
1paragraf.innerText = "Halo JavaScript!";
2
1paragraf.innerText = "Halo JavaScript!";
2
Mengubah HTML:
1paragraf.innerHTML = "<strong>Bold Text</strong>";
2
1paragraf.innerHTML = "<strong>Bold Text</strong>";
2
Mengubah atribut:
1let gambar = document.querySelector("img");
2gambar.src = "gambar-baru.jpg";
3
1let gambar = document.querySelector("img");
2gambar.src = "gambar-baru.jpg";
3
🖱️ Menangani Event di JavaScript
Event adalah interaksi pengguna, seperti klik, ketik, atau submit.
Contoh event handler:
1let tombol = document.getElementById("klikSaya");
2tombol.addEventListener("click", function () {
3 alert("Tombol diklik!");
4});
5
1let tombol = document.getElementById("klikSaya");
2tombol.addEventListener("click", function () {
3 alert("Tombol diklik!");
4});
5
Beberapa event umum:
click
: saat elemen diklik
mouseover
: saat mouse berada di atas elemen
keyup
: saat tombol keyboard dilepas
submit
: saat form dikirim
🧪 Contoh: Interaksi Sederhana
HTML:
1<input type="text" id="nama" />
2<button id="tampilkan">Tampilkan</button>
3<p id="output"></p>
4
1<input type="text" id="nama" />
2<button id="tampilkan">Tampilkan</button>
3<p id="output"></p>
4
JavaScript:
1let input = document.getElementById("nama");
2let btn = document.getElementById("tampilkan");
3let output = document.getElementById("output");
4
5btn.addEventListener("click", function () {
6 output.innerText = `Halo, ${input.value}!`;
7});
8
1let input = document.getElementById("nama");
2let btn = document.getElementById("tampilkan");
3let output = document.getElementById("output");
4
5btn.addEventListener("click", function () {
6 output.innerText = `Halo, ${input.value}!`;
7});
8
🛠️ Tips Praktis
- Pastikan DOM sudah dimuat sebelum JavaScript dijalankan, atau tempatkan
<script>
di bagian akhir body.
- Gunakan
addEventListener
daripada onclick
untuk fleksibilitas lebih tinggi.
- Jangan takut mencoba langsung di console browser atau playground seperti CodePen, JSFiddle, atau repl.it.
Jika kamu sudah memahami materi ini, kita bisa lanjut membuat latihan soal seputar DOM dan event handling.