DOM tugunlar ro‘yxati
Tugunlar ro‘yxati getElementsByTagName() metodi va childNodes xususiyati tomonidan qaytariladi.
DOM tugunlar ro‘yxati
childNodes yoki getElementsByTagName() kabi xususiyat yoki metodlardan foydalanganda tugunlar ro‘yxati (node list) obyekti qaytariladi.
Tugunlar ro‘yxati obyekti tugunlar ro‘yxatini XML’dagi tartibda ifodalaydi.
Tugunlar ro‘yxatidagi tugunlarga 0 dan boshlanadigan indeks raqamlari orqali murojaat qilinadi.
Quyidagi rasm books.xml faylidagi <title> elementlarining tugunlar ro‘yxatini tasvirlaydi:
Faraz qilaylik, "books.xml" xmlDoc o‘zgaruvchisiga yuklangan.
Bu kod fragmenti "books.xml" faylidagi title elementlarining tugunlar ro‘yxatini qaytaradi:
x = xmlDoc.getElementsByTagName("title");Yuqoridagi operator bajarilgandan so‘ng x — tugunlar ro‘yxati obyekti.
Quyidagi kod fragmenti tugunlar ro‘yxatidagi (x) birinchi <title> elementidan matnni qaytaradi:
Yuqoridagi operator bajarilgandan so‘ng txt = "Everyday Italian".
Tugunlar ro‘yxati uzunligi
Tugunlar ro‘yxati obyekti o‘zini doimo yangilab turadi. Agar element o‘chirilsa yoki qo‘shilsa, ro‘yxat avtomatik ravishda yangilanadi.
Tugunlar ro‘yxatining length xususiyati — ro‘yxatdagi tugunlar soni.
Bu kod fragmenti "books.xml" faylidagi <title> elementlari sonini qaytaradi:
x = xmlDoc.getElementsByTagName('title').length;
Yuqoridagi operator bajarilgandan so‘ng x ning qiymati 4 bo‘ladi.
Tugunlar ro‘yxati uzunligidan ro‘yxatdagi barcha elementlarni sikl bilan aylanib chiqish uchun foydalanish mumkin.
Bu kod fragmenti <title> elementlari ro‘yxatini aylanib chiqish uchun length xususiyatidan foydalanadi:
Misol
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
Natija:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
O‘zingiz sinab ko‘ring »
Misol tushuntirilishi:
- Faraz qilaylik, books.xml xmlDoc’ga yuklangan
- x o‘zgaruvchisiga barcha title elementlarining tugunlar ro‘yxatini o‘zlashtiring
- <title> elementlaridan matn tugunlari qiymatlarini yig‘ing
DOM atributlar ro‘yxati (Named Node Map)
Element tugunining attributes xususiyati atribut tugunlari ro‘yxatini qaytaradi.
Bu nomlangan tugunlar xaritasi (named node map) deb ataladi va metodlar hamda xususiyatlardagi ba’zi farqlarni hisobga olmaganda tugunlar ro‘yxatiga o‘xshaydi.
Atributlar ro‘yxati o‘zini doimo yangilab turadi. Agar atribut o‘chirilsa yoki qo‘shilsa, ro‘yxat avtomatik ravishda yangilanadi.
Bu kod fragmenti "books.xml" faylidagi birinchi <book> elementidan atribut tugunlari ro‘yxatini qaytaradi:
x = xmlDoc.getElementsByTagName('book')[0].attributes;Yuqoridagi kod bajarilgandan so‘ng x.length — atributlar soni, x.getNamedItem() esa atribut tugunini qaytarish uchun ishlatilishi mumkin.
Bu kod fragmenti kitobning "category" atributi qiymatini va atributlari sonini oladi:
Misol
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
Natija:
cooking 1
O‘zingiz sinab ko‘ring »
Misol tushuntirilishi:
- Faraz qilaylik, books.xml xmlDoc’ga yuklangan
- x o‘zgaruvchisiga birinchi <book> elementining barcha atributlari ro‘yxatini o‘zlashtiring
- "category" atributining qiymatini va atributlar ro‘yxati uzunligini oling
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
