Mulai melihat dan mengubah DOM

Sofia Emelianova
Sofia Emelianova

Tonton video dan selesaikan tutorial interaktif ini untuk mempelajari dasar-dasar menonton dan mengubah DOM halaman menggunakan Chrome DevTools.

Tutorial ini mengasumsikan bahwa Anda mengetahui perbedaan antara DOM dan HTML. Lihat Lampiran: HTML versus DOM untuk penjelasan.

Lihat node DOM

Hierarki DOM panel Elemen adalah tempat Anda melakukan semua aktivitas terkait DOM di DevTools.

Memeriksa node

Jika Anda tertarik dengan node DOM tertentu, Periksa adalah cara cepat untuk membuka DevTools dan menyelidiki node tersebut.

  1. Klik kanan Michelangelo di bawah, lalu pilih Periksa.
    • Miko
    • Rafael Memeriksa node Panel Elements di DevTools akan terbuka. <li>Michelangelo</li> ditandai di Pohon DOM. Menyoroti Michelangelo< {i>node<i}
  2. Klik ikon Inspect di sudut kiri atas DevTools. Ikon {i>Inspect<i}
  3. Klik teks Tokyo di bawah.

    • Tokyo
    • Beirut

      Sekarang, <li>Tokyo</li> ditandai di Pohon DOM.

Memeriksa node juga merupakan langkah pertama untuk melihat dan mengubah gaya node. Lihat Mulai Melihat dan Mengubah CSS.

Menjelajahi Hierarki DOM dengan keyboard

Setelah memilih simpul di Pohon DOM, Anda bisa menavigasi Pohon DOM dengan {i>keyboard<i}.

  1. Klik kanan Ringo di bawah, lalu pilih Periksa. <li>Ringo</li> dipilih di Pohon DOM.

    • George
    • Ringo
    • Paul
    • John

      Memeriksa node Ringo

  2. Tekan tombol panah Atas 2 kali. <ul> dipilih.

    Memeriksa node ul

  3. Tekan tombol panah Kiri. Daftar <ul> diciutkan.

  4. Tekan tombol panah Kiri lagi. Induk node <ul> dipilih. Dalam hal ini, node tersebut adalah node <li> yang berisi petunjuk untuk langkah 1.

  5. Tekan tombol panah Bawah sebanyak 3 kali sehingga Anda memilih kembali <ul> yang baru saja Anda ciutkan. Tampilannya akan terlihat seperti ini: <ul>...</ul>

  6. Tekan tombol panah Kanan. Daftar akan diperluas.

Scroll ke tampilan

Saat melihat Hierarki DOM, terkadang Anda akan tertarik dengan simpul DOM yang saat ini tidak berada di area pandang. Misalnya, anggaplah Anda menggulir ke bagian bawah halaman, dan Anda tertarik dengan node <h1> di bagian atas halaman. Scroll ke tampilan memungkinkan Anda memposisikan ulang area pandang dengan cepat sehingga Anda dapat melihat node.

  1. Klik kanan Magritte di bawah, lalu pilih Inspect.

    • Magrit
    • Selatan
  2. Buka bagian Lampiran: Scroll ke tampilan di bagian bawah halaman ini. Petunjuk berlanjut di sana.

Setelah menyelesaikan petunjuk di bagian bawah halaman, Anda harus kembali ke sini.

Tampilkan penggaris

Dengan penggaris di atas dan di sebelah kiri area pandang, Anda dapat mengukur lebar dan tinggi elemen saat mengarahkan kursor ke atasnya di panel Elements.

Penggaris.

Aktifkan penggaris dengan salah satu dari dua cara:

  • Tekan Control+Shift+P atau Command+Shift+P (Mac) untuk membuka Menu perintah, ketik Show rulers on hover, lalu tekan Enter.
  • Periksa Setelan. Setelan > Preferensi > Elements > Tampilkan penggaris saat kursor diarahkan.

Satuan ukuran penggaris adalah piksel.

Anda dapat menelusuri Hierarki DOM berdasarkan string, pemilih CSS, atau pemilih XPath.

  1. Fokuskan kursor ke panel Elements.
  2. Tekan Control+F atau Command+F (Mac). Kotak Penelusuran akan terbuka di bagian bawah Pohon DOM.
  3. Ketik The Moon is a Harsh Mistress. Kalimat terakhir disorot di Hierarki DOM.

    Menyoroti kueri di Kotak penelusuran

Seperti yang disebutkan di atas, kotak Penelusuran juga mendukung pemilih CSS dan XPath.

Panel Elements memilih hasil pencocokan pertama di hierarki DOM dan melemparnya ke dalam tampilan di area pandang. Secara default, hal ini terjadi saat Anda mengetik. Jika Anda selalu bekerja dengan kueri penelusuran yang panjang, Anda dapat membuat DevTools menjalankan penelusuran hanya saat Anda menekan Enter.

Untuk menghindari lompatan yang tidak perlu antar-node, hapus Setelan. Settings > Preferensi > Global > Kotak centang Telusuri saat Anda mengetik.

Menghapus kotak centang Telusuri saat Anda mengetik di Setelan.

Edit DOM

Anda dapat mengedit DOM dengan cepat dan melihat bagaimana perubahan tersebut memengaruhi halaman.

Edit konten

Untuk mengedit konten simpul, klik dua kali konten dalam Pohon DOM.

  1. Klik kanan Michelle di bawah, lalu pilih Periksa.

    • Goreng
    • Mika
  2. Di Hierarki DOM, klik dua kali Michelle. Dengan kata lain, klik dua kali teks di antara <li> dan </li>. Teks ditandai dengan warna biru untuk menunjukkan bahwa teks dipilih.

    Mengedit teks

  3. Hapus Michelle, ketik Leela, lalu tekan Enter untuk mengonfirmasi perubahan. Teks di atas perubahan dari Michelle menjadi Leela.

Edit atribut

Untuk mengedit atribut, klik dua kali nama atau nilai atribut. Ikuti petunjuknya di bawah untuk mempelajari cara menambahkan atribut ke node.

  1. Klik kanan Howard di bawah, lalu pilih Inspect.

    • Howard
    • Vince
  2. Klik dua kali <li>. Teks disoroti untuk menunjukkan bahwa node dipilih.

    Mengedit node

  3. Tekan tombol panah Kanan, tambahkan spasi, ketik style="background-color:gold", lalu tekan Enter. Warna latar belakang node berubah menjadi emas.

    Menambahkan atribut gaya ke node

Anda juga dapat menggunakan opsi klik kanan Edit atribut.

Opsi klik kanan dengan atribut edit ditandai.

Edit jenis node

Untuk mengedit jenis simpul, klik dua kali jenis simpul, lalu ketik jenis yang baru.

  1. Klik kanan Hank di bawah, lalu pilih Inspect.

    • Dekan
    • Henny
    • Thaddeus
    • Brock
  2. Klik dua kali <li>. Teks li ditandai.

  3. Hapus li, ketik button, lalu tekan Enter. Node <li> berubah menjadi <button> {i>node<i}.

    Mengubah jenis node menjadi tombol

Edit sebagai HTML

Untuk mengedit node sebagai HTML dengan penyorotan sintaksis dan pelengkapan otomatis, pilih Edit sebagai HTML dari menu drop-down node.

  1. Klik kanan Leonard di bawah, lalu pilih Inspect.

    • Peni 1 sen
    • Howard
    • Rajesh
    • Leonard
  2. Di panel Elements, klik kanan node saat ini, lalu pilih Elements dari menu drop-down.

    Menu drop-down node.

  3. Tekan Enter untuk memulai baris baru dan mulai mengetik <l. DevTool menandai sintaksis HTML dan pelengkapan otomatis tag untuk Anda.

    Pelengkapan otomatis tag HTML.

  4. Pilih elemen li dari menu pelengkapan otomatis, lalu ketik >. DevTools otomatis menambahkan tag </li> penutup setelah kursor.

    DevTools menutup tag secara otomatis.

  5. Ketik Sheldon di dalam tag, lalu tekan Control / Command + Enter untuk menerapkan perubahan.

    Menerapkan perubahan.

Menduplikasi node

Anda dapat menduplikasi elemen menggunakan opsi klik kanan Duplicate element.

  1. Klik kanan Nana di bawah dan pilih Inspect.

    • Api Unggun Tempat Rias
    • Nana
    • Orlando
    • White Noise
  2. Di panel Elements, klik kanan <li>Nana</li>, lalu pilih Duplicate element dari menu drop-down.

    Opsi Duplikat elemen ditandai di drop-down.

  3. Kembali ke halaman. Item daftar telah diduplikasi secara instan.

Anda juga dapat menggunakan pintasan keyboard: panah Shift + Alt + Bawah (Windows dan Linux) dan Shift + Option + Panah bawah (MacOS).

Mengambil screenshot node

Anda dapat mengambil screenshot setiap node di Hierarki DOM menggunakan Ambil screenshot node.

  1. Klik kanan gambar di halaman ini, lalu pilih Periksa.

  2. Di panel Elements, klik kanan URL gambar, lalu pilih Elements dari menu drop-down.

    Screenshot node sedang diambil.

  3. Screenshot akan disimpan ke hasil download Anda.

    Screenshot node disimpan ke download.

Untuk mempelajari lebih lanjut cara mengambil screenshot dengan Devtools, lihat 4 cara mengambil screenshot dengan DevTools.

Mengurutkan ulang node DOM

Seret node untuk menyusun ulang.

  1. Klik kanan Elvis Presley di bawah, lalu pilih Periksa. Perhatikan bahwa ini adalah item terakhir dalam daftar.

    • Stevie Wonder
    • Tom Tunggu
    • Chris Thile
    • Elvis Presley

  2. Di Hierarki DOM, tarik <li>Elvis Presley</li> ke bagian atas daftar.

    Menarik {i>node<i} ke bagian atas daftar

Paksa status

Anda dapat memaksa node agar tetap dalam status seperti :active, :hover, :focus, :visited, dan :focus-within.

  1. Arahkan kursor ke The Lord of the Flies di bawah. Warna latar belakang menjadi oranye.

    • Penguasa Lalat
    • Kejahatan dan Hukuman
    • Moby Dick

  2. Klik kanan The Lord of the Flies di atas dan pilih Inspect.

  3. Klik kanan <li class="demo--hover">The Lord of the Flies</li> lalu pilih Paksa Status > :arahkan kursor. Lihat Lampiran: Opsi tidak ada jika Anda tidak melihat opsi ini. Warna latar belakang tetap oranye meskipun Anda sebenarnya tidak mengarahkan kursor ke node.

Menyembunyikan node

Tekan H untuk menyembunyikan node.

  1. Klik kanan The Stars My Destination di bawah dan pilih Periksa.

    • Jumlah Monte Cristo
    • Bintang Tujuanku
  2. Tekan tombol H. Node disembunyikan. Anda juga dapat mengklik kanan node dan menggunakan opsi Sembunyikan elemen.

    Tampilan node di Pohon DOM setelah disembunyikan

  3. Tekan tombol H sekali lagi. Node ditampilkan lagi.

Hapus node

Tekan Delete untuk menghapus node.

  1. Klik kanan Foundation di bawah, lalu pilih Periksa.

    • Ilustratif Pria
    • Melewati Kaca Mata
    • Fondasi
  2. Tekan tombol Delete. Node dihapus. Anda juga dapat mengklik kanan node dan menggunakan opsi Delete element.

  3. Tekan Control+Z atau Command+Z (Mac). Tindakan terakhir diurungkan dan node akan muncul kembali.

Mengakses node di Console

DevTools menyediakan beberapa pintasan untuk mengakses node DOM dari Konsol, atau mendapatkan merujuk pada JavaScript.

Mereferensikan node yang saat ini dipilih dengan $0

Saat memeriksa node, teks == $0 di samping node berarti Anda dapat mereferensikan node di Konsol dengan variabel $0.

  1. Klik kanan The Left Hand of Darkness di bawah dan pilih Periksa.

    • Tangan Kiri Kegelapan
    • Dune
  2. Tekan tombol Escape untuk membuka Panel Samping Konsol.

  3. Ketik $0, lalu tekan tombol Enter. Hasil ekspresi menunjukkan bahwa $0 mengevaluasi ke <li>The Left Hand of Darkness</li>.

    Hasil ekspresi $0 pertama di Konsol

  4. Arahkan kursor ke hasil. Node ditandai di area pandang.

  5. Klik <li>Dune</li> di Pohon DOM, ketik $0 di Konsol lagi, lalu tekan Tekan Enter lagi. Sekarang, $0 bernilai <li>Dune</li>.

    Hasil ekspresi $0 kedua di Konsol

Simpan sebagai variabel global

Jika Anda perlu merujuk kembali ke node berkali-kali, simpanlah sebagai variabel global.

  1. Klik kanan The Big Sleep di bawah, lalu pilih Inspect.

    • Tidur Besar
    • Selamat Tinggal Panjang
  2. Klik kanan <li>The Big Sleep</li> di Pohon DOM dan pilih Simpan sebagai global variabel. Lihat Lampiran: Opsi tidak ada jika Anda tidak melihat opsi ini.

  3. Ketik temp1 di Konsol, lalu tekan Enter. Hasil ekspresi menunjukkan bahwa variabel tersebut dievaluasi ke node.

    Hasil ekspresi temp1

Salin jalur JS

Salin jalur JavaScript ke node saat Anda perlu mereferensikannya dalam pengujian otomatis.

  1. Klik kanan The Brothers Karamazov di bawah dan pilih Periksa.

    • Saudara Karamazov
    • Kejahatan dan Hukuman
  2. Klik kanan <li>The Brothers Karamazov</li> di Pohon DOM dan pilih Salinan > Salin Jalur JS. Ekspresi document.querySelector() yang di-resolve ke {i>node <i}telah disalin ke {i>clipboard<i} Anda.

  3. Tekan Control+V atau Command+V (Mac) untuk tempelkan ekspresi tersebut ke dalam Console.

  4. Tekan Enter untuk mengevaluasi ekspresi.

    Hasil ekspresi Copy JS Path

Jeda pada perubahan DOM

DevTools memungkinkan Anda menjeda JavaScript halaman saat JavaScript mengubah DOM. Lihat Titik henti sementara perubahan DOM.

Langkah berikutnya

Hal ini mencakup sebagian besar fitur terkait DOM di DevTools. Anda dapat menemukan sisanya dengan mengklik kanan simpul di Pohon DOM dan bereksperimen dengan opsi lain yang tidak yang dibahas dalam tutorial ini. Lihat juga Pintasan keyboard panel Elemen.

Lihat halaman beranda Chrome DevTools untuk menemukan semuanya hal lain yang bisa Anda lakukan dengan DevTools.

Lihat Komunitas jika Anda ingin menghubungi tim DevTools atau mendapatkan bantuan dari komunitas DevTools.

Lampiran: HTML versus DOM

Bagian ini menjelaskan perbedaan antara HTML dan DOM secara cepat.

Saat Anda menggunakan browser web untuk meminta halaman seperti https://example.com server mengembalikan HTML seperti ini:

<!doctype html>
<html>
  <head>
    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>
    <p>This is a hypertext document on the World Wide Web.</p>
    <script src="/script.js" async></script>
  </body>
</html>

Browser akan mengurai HTML dan membuat hierarki objek seperti ini:

html
  head
    title
  body
    h1
    p
    script

Pohon objek, atau simpul, yang mewakili isi laman ini disebut DOM. Saat ini terlihat sama dengan HTML, tetapi anggaplah skrip yang direferensikan pada di bagian bawah HTML menjalankan kode ini:

const h1 = document.querySelector('h1');
h1.parentElement.removeChild(h1);
const p = document.createElement('p');
p.textContent = 'Wildcard!';
document.body.appendChild(p);

Kode tersebut menghapus node h1 dan menambahkan node p lain ke DOM. DOM lengkap kini terlihat seperti ini:

html
  head
    title
  body
    p
    script
    p

HTML halaman kini berbeda dengan DOM-nya. Dengan kata lain, HTML mewakili konten halaman awal, dan DOM mewakili konten halaman saat ini. Saat JavaScript menambah, menghapus, atau mengedit simpul, DOM menjadi berbeda dari HTML.

Lihat Pengantar DOM untuk mempelajari lebih lanjut.

Lampiran: Scroll ke tampilan

Ini adalah kelanjutan dari bagian Scroll ke tampilan. Ikuti petunjuk di bawah untuk menyelesaikan bagian ini.

  1. Node <li>Magritte</li> harus tetap dipilih di Pohon DOM Anda. Jika tidak, kembali ke Scroll ke tampilan dan mulai dari awal.
  2. Klik kanan node <li>Magritte</li>, lalu pilih Scroll into view. Area tampilan Anda di-scroll cadangkan sehingga Anda dapat melihat node Magritte. Lihat Lampiran: Opsi tidak ada jika Anda tidak dapat melihat opsi Scroll ke dalam tampilan.

    Scroll ke tampilan

Lampiran: Opsi tidak ada

Banyak petunjuk dalam tutorial ini yang menginstruksikan Anda untuk mengklik kanan simpul di Hierarki DOM lalu pilih opsi dari menu konteks yang muncul. Jika Anda tidak melihat di menu konteks, coba klik kanan di luar teks node.

Tempat mengklik jika Anda tidak melihat semua opsi