Saya pernah nulis tentang DOM, saya kira gampang cuman gitu aja. Eh, ternyata masih banyak yang harus saya pelajari. Salah satu triggernya adalah kenapa ada node dari artikel yang saya baca padahal lagi gak belajar NodeJs? Haha

Iya, saya tau pertanyaan saya tolol.

What is DOM? (again)

Document Object Model adalah suatu antarmuka dimana javascript bisa merubah / memodifikasi struktur, isi, dan style dari dokumen HTML dan XML. (forget that XML, I wanna focus on HTML). Itu bisa terjadi karena javascript merepresentasikan dokumen HTML sebagai objek dan node.

What is document?

document adalah isi dari sebuah halaman website, yang menaungi HTML.

What dafuq is object?

Objek adalah objek, mas. Salah satu tipe data dalam javascript.

What dahell is node?

Kata Pak Sandhika, node itu adalah simpul. Kumaha sih pak? haha.

Jadi begini,

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="css/style.css">
  <title>dekadensiotak.id</title>
</head>

Dalam DOM Tree, tag <head> akan berada paling atas (di bawah tag <html> tentunya), dan menaungi semua tag yang dia bungkus (<meta>, <link>, <title>). Maka, tag-tag yang dia bungkus adalah simpulnya dia.

Begitu pula dengan <title>, text dekadensiotak.id adalah node-nya dia.

Bawahannya lah ya gampangnya mah.

Nah, karena javascript memandang elemen HTML sebagai objek, maka si node nya tadi juga jadi mewarisi method dari parent-nya. Maka si node bisa diperlakukan dan di test dengan cara yang sama dengan parent-nya.