DOM tugunlariga chuqurroq nazar tashlaylik.
Ushbu bobda biz ular nima ekanligini ko’rib chiqamiz va eng ko’p ishlatiladigan xususiyatlarini o’rganamiz.
DOM tugun klasslari
Turli DOM tugunlari turli xususiyatlarga ega bo’lishi mumkin. Masalan, <a> tegiga mos keladigan element tuguni havola bilan bog’liq xususiyatlarga ega, <input> ga mos keluvchisi esa input bilan bog’liq xususiyatlarga ega va hokazo. Matn tugunlari element tugunlari bilan bir xil emas. Lekin ular orasida umumiy xususiyatlar va metodlar ham mavjud, chunki barcha DOM tugun klasslari yagona ierarxiyani tashkil qiladi.
Har bir DOM tuguni tegishli o’rnatilgan klassga tegishli.
Ierarxiyaning ildizi EventTarget bo’lib, undan Node meros oladi va boshqa DOM tugunlari undan meros oladi.
Mana rasm, tushuntirishlar keyinroq:
Klasslar:
- EventTarget – ildiz “mavhum” klass. Bu klassning obyektlari hech qachon yaratilmaydi. U asos bo’lib xizmat qiladi, shunda barcha DOM tugunlari “hodisalar” deb ataladigan narsani qo’llab-quvvatlaydi, biz ularni keyinroq o’rganamiz.
- Node – bu ham “mavhum” klass bo’lib, DOM tugunlari uchun asos bo’lib xizmat qiladi. U asosiy daraxt funksionalligini taqdim etadi:
parentNode,nextSibling,childNodesva hokazo (bular getter’lardir).Nodeklassining obyektlari hech qachon yaratilmaydi. Lekin undan meros oladigan aniq tugun klasslari mavjud, ya’ni: matn tugunlari uchunText, element tugunlari uchunElementva izoh tugunlari uchunCommentkabi boshqa ekzotik klasslar. - Element – DOM elementlari uchun asos klass. U element darajasidagi navigatsiyani taqdim etadi, masalan
nextElementSibling,childrenvagetElementsByTagName,querySelectorkabi qidiruv metodlari. Brauzer nafaqat HTML, balki XML va SVG ni ham qo’llab-quvvatlaydi.Elementklassi aniqroq klasslar uchun asos bo’lib xizmat qiladi:SVGElement