React.js
  • Roadmap belajar React.js
  • Tahap 1: Dasar-dasar JavaScript
    • Apa itu JavaScript dan kegunaannya
    • Sejarah dan perkembangan JavaScript
    • Apa itu Node.js dan hubungannya dengan JavaScript
    • Cara instal Node.js
    • Cara menjalankan JavaScript di Node.js
    • Variabel dalam JavaScript
    • Tipe data dalam JavaScript
    • Operator dalam JavaScript
    • Truly dan Falsy dalam JavaScript
    • Kondisional dalam JavaScript
    • Looping dalam JavaScript
    • Fungsi dalam JavaScript
    • Parameter dan Return Value dalam JavaScript
    • DOM di JavaScript dan Cara manipulasinya
    • Event Handling dalam JavaScript
    • Try, catch, dan finally dalam JavaScript
    • Callback dalam JavaScript
    • Promise dalam JavaScript
    • Async dan Await dalam JavaScript
  • Tahap 2: JavaScript Lanjutan
    • OOP dalam JavaScript
    • ES6
    • LocalStorage dalam JavaScript
    • FetchAPI dalam JavaScript
  • Tahap 3: Memulai dengan React.js
    • Apa itu React?
    • Konsep Virtual DOM
    • Apa itu JSX?
    • Langkah-langkah Setup Project React.js
    • Apa itu Komponen dalam React?
    • Apa itu Props dan State dalam React?
    • Apa itu Event Handling dalam React?
    • Apa itu Component Lifecycle dalam React?
    • Apa itu Hooks dalam React?
    • Apa itu Custom Hooks dalam React?
  • Tahap 4: React Lanjutan
    • Apa itu Context API dalam React?
    • Apa itu State Management (Redux)?
    • Apa itu Routing di React?
    • Apa itu Dynamic Routing, Private Routing, dan Nested Routing?
    • Cara menulis CSS di React
    • Cara Menggunakan Bootstrap di React
    • Cara Menggunakan Tailwind CSS di React
    • Cara Fetching data dari API di React
    • Cara Menampilkan data dinamis di React
    • Error handling dalam pengambilan data
    • Cara Testing komponen di React
    • End-to-end testing dengan Cypress atau Selenium
Powered by GitBook
On this page
  1. Tahap 1: Dasar-dasar JavaScript

DOM di JavaScript dan Cara manipulasinya

PreviousParameter dan Return Value dalam JavaScriptNextEvent Handling dalam JavaScript

Last updated 10 months ago

Apa itu DOM?

DOM (Document Object Model) adalah antarmuka pemrograman untuk dokumen web. Ini mewakili halaman sehingga program dapat mengubah struktur, gaya, dan kontennya. DOM menggambarkan dokumen sebagai pohon node, di mana setiap node mewakili bagian dari dokumen, seperti elemen, atribut, atau teks.

Struktur DOM

  • Dokumen: Representasi seluruh halaman.

  • Elemen: Setiap tag HTML adalah elemen dalam DOM.

  • Atribut: Properti elemen seperti id, class, dll.

  • Teks: Isi teks dari elemen.

Manipulasi DOM

Manipulasi DOM adalah proses menggunakan JavaScript untuk mengubah struktur, konten, atau gaya dari elemen di halaman web. Berikut adalah beberapa operasi umum yang dapat dilakukan pada DOM:

  1. Mengakses Elemen

  2. Mengubah Konten Elemen

  3. Menambah dan Menghapus Elemen

  4. Mengubah Atribut Elemen

  5. Mengubah Gaya Elemen

Contoh Kode HTML dan JavaScript untuk Manipulasi DOM

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Manipulasi DOM</title>
</head>
<body>
    <h1 id="title">Hello, World!</h1>
    <p id="description">Ini adalah paragraf yang akan dimanipulasi.</p>
    <button id="changeContent">Ubah Konten</button>
    <button id="addElement">Tambah Elemen</button>
    <button id="removeElement">Hapus Elemen</button>
    <button id="changeStyle">Ubah Gaya</button>

    <script src="script.js"></script>
</body>
</html>

JavaScript (script.js)

document.addEventListener('DOMContentLoaded', (event) => {
    // Mengakses Elemen
    const title = document.getElementById('title');
    const description = document.getElementById('description');
    
    // Mengubah Konten Elemen
    document.getElementById('changeContent').addEventListener('click', () => {
        title.textContent = 'Hello, DOM!';
        description.textContent = 'Paragraf ini telah diubah menggunakan JavaScript.';
    });
    
    // Menambah Elemen
    document.getElementById('addElement').addEventListener('click', () => {
        const newElement = document.createElement('p');
        newElement.textContent = 'Ini adalah elemen baru yang ditambahkan.';
        document.body.appendChild(newElement);
    });
    
    // Menghapus Elemen
    document.getElementById('removeElement').addEventListener('click', () => {
        if (description) {
            description.remove();
        }
    });
    
    // Mengubah Gaya Elemen
    document.getElementById('changeStyle').addEventListener('click', () => {
        title.style.color = 'blue';
        title.style.fontSize = '2em';
    });
});

Penjelasan Kode

  1. Mengakses Elemen:

    const title = document.getElementById('title');
    const description = document.getElementById('description');
    • Menggunakan getElementById untuk mengakses elemen dengan ID title dan description.

  2. Mengubah Konten Elemen:

    document.getElementById('changeContent').addEventListener('click', () => {
        title.textContent = 'Hello, DOM!';
        description.textContent = 'Paragraf ini telah diubah menggunakan JavaScript.';
    });
    • Menambahkan event listener pada tombol changeContent untuk mengubah teks elemen title dan description.

  3. Menambah Elemen:

    document.getElementById('addElement').addEventListener('click', () => {
        const newElement = document.createElement('p');
        newElement.textContent = 'Ini adalah elemen baru yang ditambahkan.';
        document.body.appendChild(newElement);
    });
    • Menambahkan event listener pada tombol addElement untuk membuat dan menambahkan elemen baru ke dalam body.

  4. Menghapus Elemen:

    document.getElementById('removeElement').addEventListener('click', () => {
        if (description) {
            description.remove();
        }
    });
    • Menambahkan event listener pada tombol removeElement untuk menghapus elemen description dari dokumen.

  5. Mengubah Gaya Elemen:

    document.getElementById('changeStyle').addEventListener('click', () => {
        title.style.color = 'blue';
        title.style.fontSize = '2em';
    });
    • Menambahkan event listener pada tombol changeStyle untuk mengubah warna dan ukuran font elemen title.

Sumber

Manipulasi DOM memungkinkan Anda untuk membuat halaman web yang dinamis dan interaktif dengan menggunakan JavaScript untuk mengubah elemen HTML secara langsung.

MDN Web Docs - Document Object Model (DOM)
W3Schools - JavaScript HTML DOM