DOM di Javascript
DOM singkatan dari Document Object Model. Document adalah bagian dari browser yang menampilkan halaman web pada layar perangkat, sedangkan Object di Javascript adalah tipe data yang memungkinkan kita menyimpan kumpulan nilai dengan tipe data yang berbeda. Jadi, DOM adalah antarmuka pemrograman berbasis object yang mempresentasikan dokumen web.
Saat membuka halaman web pada browser, maka file HTML dari web akan dimuat serta ditampilkan pada layar perangkat. Pada saat proses render file HTML berlangsung, browser akan membuat DOM yang menggambarkan struktur halaman tersebut.
DOM berisi kumpulan elemen HTML seperti <div>, <p>, dan <img> dan konten terkaitnya, misal teks, gambar, dan lain-lain. Jika kita coba ketik document pada console, maka yang akan tampil object document yang berisi kode HTML dari struktur halaman web seperti berikut:
DOM dapat diilustrasikan dengan bentuk pohon (DOM Tree). Berikut adalah script HTML struktur halaman website yang akan kita ilustrasikan dalam bentuk DOM Tree:
Script HTML diatas jika kita ilustrasikan dalam bentuk pohon (DOM Tree) seperti di bawah ini:
Pada DOM Tree di atas, document adalah root node, sedangkan <html> adalah parent node yang memiliki dua child node yaitu <head> dan <body>. Begitu seterusnya hingga sampai node yang terkecil.
Untuk lebih jelasnya, berikut penjelasan dari struktur hierarki DOM:
- Root node adalah node yang menjadi sumber dari semua node lain di dalam DOM, yaitu node document.
- Parent node adalah node yang berada 1 tingkat diatas node yang lain. Pada DOM Tree diatas, <body> adalah parent dari <h1>, <p>, <p>, <div>, dan <a>.
- Child node adalah node yang berada 1 tingkat dibawah node yang lain. Pada DOM Tree diatas, <h1> adalah child dari <body>.
- Elemen
- Attribute
- Text
- CData Section
- Entity Reference
- Entity
- Processing Instruction
- Comment
- Document
- Document Type
- Document Fragment
- Notation
NodeList Vs HTMLCollection
- Keduanya merupakan kumpulan node
- Struktur datanya mirip array
- Nodelist dapat berisi node apapun, sedangkan HTMLCollection harus berisi elemen HTML
- HTMLCollection berisi live sedangkan nodeList tidak
Mengkases Elemen Tertentu dengan DOM
DOM adalah model dari dokumen HTML yang berisi kumpulan fungsi dan atribut berupa objek dari elemen HTML yang dapat diilustrasikan dalam bentuk pohon seperti ini:
Struktur pohon ini akan memudahkan kita dalam menggunakan elemen tertentu. Berikut adalah script dari ilustrasi DOM Tree di atas:
Mari kita coba mengakses objek <head> dan <body> dari script diatas.
Coba ketik kode berikut pada console:
document.head;
// mengakses objek body
document.body;
- getElementById() fungsi untuk memilih elemen berdasarkan atribut id.
- getElementByName() fungsi untuk memilih elemen berdasarkan atribut name.
- getElementByClassName() fungsi untuk memilih elemen berdasarkan atribut class.
- getElementByTagName() fungsi untuk memilih elemen berdasarkan nama tag.
- getElementByTagNameNS() fungsi untuk memilih elemen berdasarkan nama tag.
- querySelector() fungsi untuk memilih elemen berdasarkan query.
- querySelectorAll() fungsi untuk memilih elemen berdasarkan query.
- dan lain-lain.
Fungsi-fungsi di atas cukup sering digunakan untuk mengakses elemen tertentu.
Contoh penggunaan: document.getElementById()
Misalkan kita punya kode HTML seperti ini:
Kemudian kita ingin memberikan style pada element <h1> berikut:
Caranya, kita perlu mengakses element tersebut di Javascript. Kita bisa gunakan fungsi getElementById() karena element tersebut memiliki id dengan nama judul.
Setelah itu kita bisa memanipulasi element tersebut, misalnya kita akan memberikan style warna teks menjadi kuning dan warna background menjadi abu-abu seperti berikut:
Contoh penggunaan: document.getElementsByTagName()
Misalkan kita punya kode HTML seperti ini:
Pada kode HTML di atas, kita akan menyeleksi element-element <p> dan memberikan style background warna light blue. Caranya seperti berikut:
0 Komentar