Pengenalan DOM (Document Object Model) dalam JavaScript
Apa itu DOM?
DOM adalah singkatan dari Document Object Model. Ini adalah representasi struktur dokumen HTML atau XML sebagai objek yang dapat dimanipulasi dengan bahasa pemrograman seperti JavaScript. DOM memungkinkan kamu untuk mengakses dan memanipulasi elemen-elemen di halaman web secara dinamis.
Struktur DOM
DOM mengorganisir elemen-elemen dalam bentuk pohon. Setiap elemen dalam dokumen adalah node. Berikut adalah beberapa jenis node dalam DOM:
- Element Node: Node yang mewakili elemen HTML.
- Text Node: Node yang mewakili teks di dalam elemen.
- Attribute Node: Node yang mewakili atribut dari elemen HTML.
Mengakses Elemen dengan DOM
JavaScript menyediakan beberapa metode untuk mengakses elemen dalam DOM:
getElementById
- Mengakses elemen berdasarkan ID.
javascriptconst element = document.getElementById('myId');
getElementsByClassName
- Mengakses elemen berdasarkan nama kelas. Mengembalikan koleksi elemen.
javascriptconst elements = document.getElementsByClassName('myClass');
getElementsByTagName
- Mengakses elemen berdasarkan nama tag. Juga mengembalikan koleksi.
javascriptconst elements = document.getElementsByTagName('div');
querySelector
- Mengakses elemen pertama yang cocok dengan selector CSS.
javascriptconst element = document.querySelector('.myClass');
querySelectorAll
- Mengakses semua elemen yang cocok dengan selector CSS.
javascriptconst elements = document.querySelectorAll('div.myClass');
Manipulasi DOM
Setelah mengakses elemen, kamu bisa melakukan berbagai manipulasi:
Mengubah Konten
- Mengubah teks atau HTML dari elemen.
javascriptelement.textContent = 'Hello, World!'; element.innerHTML = '<strong>Hello, World!</strong>';
Mengubah Atribut
- Mengubah atribut elemen.
javascriptelement.setAttribute('src', 'image.jpg');
Menambah dan Menghapus Elemen
- Menambahkan elemen baru.
javascriptconst newElement = document.createElement('div'); newElement.textContent = 'This is a new element'; document.body.appendChild(newElement);
- Menghapus elemen.
javascriptdocument.body.removeChild(element);
Mengubah Gaya (CSS)
- Mengubah gaya elemen secara langsung.
javascriptelement.style.color = 'red'; element.style.fontSize = '20px';
Menangani Event
- Menambahkan event listener untuk merespons interaksi pengguna.
javascriptelement.addEventListener('click', () => { alert('Element clicked!'); });
Contoh Penggunaan
Berikut adalah contoh sederhana yang menunjukkan penggunaan DOM dalam JavaScript:
html<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DOM Example</title>
</head>
<body>
<h1 id="title">Hello, DOM!</h1>
<button id="changeButton">Change Text</button>
<script>
const title = document.getElementById('title');
const button = document.getElementById('changeButton');
button.addEventListener('click', () => {
title.textContent = 'Text Changed!';
title.style.color = 'blue';
});
</script>
</body>
</html>
Kesimpulan
DOM adalah alat yang sangat kuat dalam pengembangan web, memungkinkan pengembang untuk membuat halaman web interaktif dan dinamis. Dengan memahami cara mengakses dan memanipulasi DOM menggunakan JavaScript, kamu dapat meningkatkan pengalaman pengguna di situs webmu.