DOM nima va u qanday tuzilgan

Brauzer HTML faylni o’qib, undan xotirada obyektlar daraxti yasaydi. Shu daraxt DOM deb ataladi — Document Object Model. JavaScript sahifani aynan shu daraxt orqali o’qiydi va o’zgartiradi.

HTML va DOM

Quyidagi HTML:

<body>
  <h1>Sarlavha</h1>
  <p>Matn <strong>qalin</strong> bilan</p>
</body>

DOM’da shunday daraxtga aylanadi:

body
├── h1
│   └── "Sarlavha"
└── p
    ├── "Matn "
    ├── strong
    │   └── "qalin"
    └── " bilan"

Har teg — element tuguni, ichidagi matn — matn tuguni. Ular ota-bola munosabatida bog’langan.

document — daraxtning ildizi

Butun DOM document obyekti orqali ochiladi:

JavaScript

Elementni topish

Eng ko’p ishlatiladigan usul — CSS selektori orqali:

JavaScript
Sahifa
  • querySelectorbirinchi mos elementni qaytaradi;
  • querySelectorAllbarchasini ro’yxat sifatida.

Selektor CSS’dagi bilan bir xil: #id, .class, div, ul li va hokazo.

Topilmasa nima bo’ladi

JavaScript

null qaytadi. Shuning uchun elementga murojaat qilishdan oldin tekshirish kerak — aks holda xato chiqadi:

JavaScript

Ota, bola va qo’shni

JavaScript
Sahifa

Bu xossalar daraxt bo’ylab yurish imkonini beradi. Amalda ular kamroq ishlatiladi — querySelector odatda qulayroq.

Amaliy mashq

DOM bilan tanishing:

  1. Runner’ga HTML qo’shib, querySelector bilan sarlavhani toping;
  2. uning textContent va tagName xossalarini chiqaring;
  3. querySelectorAll bilan bir necha elementni oling va length ni ko’ring;
  4. mavjud bo’lmagan selektor yozing — natija nima?
  5. document.body.children.length ni tekshiring.

4-qadamdagi null keyingi darsda nega tekshirish kerakligini ko’rsatadi.

Qisqacha xulosa

  • DOM — HTML’dan yasalgan obyektlar daraxti; JavaScript sahifani shu orqali boshqaradi.
  • document — daraxtning ildizi.
  • querySelector birinchi elementni, querySelectorAll barchasini topadi.
  • Selektorlar CSS’dagi bilan bir xil.
  • Element topilmasa null qaytadi — murojaatdan oldin tekshiring.

Keyingi darsda elementni o’zgartirish — matn, HTML va uslublarni yangilashni ko’ramiz.

Bu dars foydali bo'ldimi?

marta ko'rildi