Властивості firstchild, lastchild, nextsibling, parentnode і previoussibling елемента xml

Привіт, шановні відвідувачі okITgo.ru! Сьогодні пропоную розглянути властивості XML об'єкта Елемент, що дозволяють отримати доступ до споріднених вузлів, а саме firstChild - перший дочірній елемент, lastChild - останній дочірній елемент, nextSibling - наступний сестринський вузол, parentNode - батьківський елемент і previousSibling - попередній сестринський вузол.

властивість firstChild

Визначення та Використання

Властивість firstChild повертає перший дочірній вузол обраного вузла

Якщо обраний вузол не має дітей, це властивість поверне NULL.

Поради та Зауваження

Зауваження: Firefox і більшість інших браузерів будуть трактувати порожні пробільні символи і переходи на новий рядок як текстові вузли, на відміну від браузера Internet Explorer. Таким чином, в прикладі нижче є функція, яка перевіряє тип вузла першого дочірнього елемента.

Вузли елементів мають тип вузла 1, так що якщо перший дочірній вузол не є вузлом елемента, функція переходить до наступного вузла і перевіряє його (чи є він елементом). Це продовжується до тих пір, поки перший дочірній вузол (який повинен бути вузлом елемента) не буде знайдений. У підсумку, результат роботи коду буде однаковим у всіх браузерах.

Наступний фрагмент коду завантажує "books.xml" в xmlDoc за допомогою loadXMLDoc () і отримує перший дочірній вузол:

// перевірка того, що перший дочірній вузол є елементом
function get_firstchild (n)
x = n.firstChild;
while (x.nodeType! = 1)
x = x.nextSibling;
>
return x;
>

for (i = 0; i if (firstNode.childNodes [i] .nodeType == 1)
// Обробляти тільки вузли - елементи
document.write (firstNode.childNodes [i] .nodeName);
document.write ( "=");
document.write (firstNode.childNodes [i] .childNodes [0] .nodeValue);
document.write ( "");
>
>

Висновок коду вище буде:

властивість lastChild

Визначення та Використання

Властивість lastChild повертає останній дочірній вузол обраного елемента

Якщо обраний вузол не має дітей, це властивість повертає NULL.

Поради та Зауваження

Зауваження: Firefox і більшість інших браузерів будуть трактувати порожні пробільні символи і переходи на новий рядок як текстові вузли, на відміну від браузера Internet Explorer. Таким чином, в прикладі нижче є функція, яка перевіряє тип вузла останнього дочірнього елемента.

Вузли елементів мають тип вузла 1, так що якщо останній дочірній вузол не є вузлом елемента, функція переходить до попереднього вузла і перевіряє його (чи є він елементом). Це продовжується до тих пір, поки останній дочірній вузол (який повинен бути вузлом елемента) не буде знайдений. У підсумку, результат роботи коду буде однаковим у всіх браузерах.

Щоб прочитати більше про відмінності між браузерами, дивіться пост DOM Браузери.

Наступний фрагмент коду завантажує "" в xmlDoc, використовуючи loadXMLDoc (). і знаходить останній дочірній вузол:

// перевірка, що останній дочірній вузол є вузлом елемента
function get_lastchild (n)
x = n.lastChild;
while (x.nodeType! = 1)
x = x.previousSibling;
>
return x;
>

for (i = 0; i if (lastNode.childNodes [i] .nodeType == 1)
// Обробляти тільки вузли-елементи
document.write (lastNode.childNodes [i] .nodeName);
document.write ( "=");
document.write (lastNode.childNodes [i] .childNodes [0] .nodeValue);
document.write ( "");
>
>

Висновок коду вище буде:

властивість nextSibling

Визначення та Використання

Властивість nextSibling повертає наступний сестринський вузол (наступний вузол на тому ж самому рівні дерева) обраного елемента

Якщо такого вузла немає, це властивість поверне null.

Поради та Зауваження

Зауваження: Firefox і більшість інших браузерів будуть трактувати порожні пробільні символи і переходи на новий рядок як текстові вузли, на відміну від браузера Internet Explorer. Таким чином, в прикладі нижче є функція, яка перевіряє тип вузла наступного сестринського вузла.

Вузли елементів мають тип вузла 1, так що якщо наступний сестринський вузол не є вузлом елемента, функція переходить до йде за ним вузла і перевіряє його (чи є він елементом). Це продовжується до тих пір, поки наступний сестринський вузол (який повинен бути вузлом елемента) не буде знайдений. У підсумку, результат роботи коду буде однаковим у всіх браузерах.

Щоб прочитати більше про відмінності між браузерами, дивіться пост DOM Браузери.

Наступний фрагмент коду завантажує "books.xml" в xmlDoc, використовуючи loadXMLDoc (). і отримує наступний сестринський вузол першого елемента :</p> <p>// перевірка, що наступний сестринський вузол є вузлом-елементом<br> function get_nextsibling (n)<br> x = n.nextSibling;<br> while (x.nodeType! = 1)<br> x = x.nextSibling;<br>><br> return x;<br>></p> <p>x = xmlDoc.getElementsByTagName ( "title") [0];<br> document.write (x.nodeName);<br> document.write ( "=");<br> document.write (x.childNodes [0] .nodeValue);</p> <p>document.write ( "Наступний сестринський вузол:");<br> document.write (y.nodeName);<br> document.write ( "=");<br> document.write (y.childNodes [0] .nodeValue);</p> <p>Висновок коду вище буде:</p> <p>title = Самогон та інші спиртні напої домашнього приготування<br> Наступний сестринський вузол: author = Байдакова Ірина</p></div> <div class="extra"> <div class="clear"></div> </div> </article> </div> </div> </div> </div> <div id="sidebar" class="col-1-3"> <div class="wrap-col"> <div class="box"> <div class="content"> <ul> <li><a href="/articles/rosijska-abetka-zashifrovane-poslannja-z-glibini.html">Російська абетка - зашифроване послання з глибини століть</a></li> <li><a href="/articles/jakimi-buvajut-pilovlovljuvachi-cikloni-batarejni.html">Якими бувають пиловловлювачі циклони батарейні принцип роботи і особливості</a></li> <li><a href="/articles/v-jazanij-nulik-z-fiksiki.html">В’язаний нулик з Фіксікі</a></li> <li><a href="/articles/jak-pokazati-svoju-ljubov-ditini-garmonijna-sim-ja.html">Як показати свою любов дитині, гармонійна сім’я</a></li> <li><a href="/articles/veterinarna-medicina.html">Ветеринарна медицина</a></li> <li><a href="/articles/hto-i-de-vinajshov-papir-istorija-stvorennja.html">Хто і де винайшов папір історія створення паперу</a></li> <li><a href="/articles/sklopolotno-na-stelju-poklejka-pid-farbuvannja.html">Склополотно на стелю поклейка під фарбування, відгуки, як правилноє і на що клеїти, відео з</a></li> <li><a href="/articles/tancjujuchij-budinok-v-prazi.html">Танцюючий будинок в Празі</a></li> <li><a href="/articles/jaki-podatki-platit-ip-na-sproshhenij-sistemi-ip.html">Які податки платить ип на спрощеній системі (ип на ССО)</a></li> </ul> </div> </div> </div> </div> </div> </div> </section> <footer> <div class="wrap-footer pominodiko"> <div class="row"> <div class="col-1-1"> <div class="wrap-col"> <div class="box"> <div class="content"> <ul> <li><a href="/articles/shho-potribno-znati-vlasniku-gidrocikli.html">Що потрібно знати власнику гідроцикли</a></li> <li><a href="/articles/wiki-fit-jak-otrimati-vse-i-vidrazu.html">Wiki fit, як отримати все і відразу</a></li> <li><a href="/articles/shho-mozhna-prigotuvati-z-zamorozhenoi-vishni.html">Що можна приготувати з замороженої вишні</a></li> <li><a href="/articles/dzvonovij-shhodennik-kvitkovij-kalendar.html">Дзвоновий щоденник, квітковий календар</a></li> <li><a href="/articles/sam-sobi-poliglot.html">Сам собі поліглот</a></li> <li><a href="/articles/anna-na-shii-korotkij-zmist-readcafe.html">Анна на шиї, короткий зміст, readcafe</a></li> <li><a href="/articles/vesilni-vbrannja-dlja-shampanskogo.html">Весільні вбрання для шампанського</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="copyright"> <p>Copyright © 2026</p> <ul> <li><a href="/articles/roz-jasnennja-za-programoju-legalizacii.html">Роз’яснення за програмою легалізації нерухомості в Казахстані</a></li> <li><a href="/articles/vipravlennja-vladimir-bilshe.html">Виправлення (владимир більше)</a></li> <li><a href="/articles/project-life-abo-proekt-zhittja.html">Project life або проект життя</a></li> <li><a href="/articles/jaka-minimalna-pensija-bude-vukaini-v-2019-roci-z.html">Яка мінімальна пенсія буде вУкаіни в 2019 році з 1 січня у пенсіонерів по регіонах таблиця</a></li> <li><a href="/articles/budinki-kusajut-moshki-jak-pozbutisja.html">Будинки кусають мошки як позбутися</a></li> </ul> </div> </footer></div> <style> #cookieNoticeOverlay{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;padding:20px}#cookieNoticeBox{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.35);font-family:Arial,sans-serif;text-align:center}#cookieNoticeBox h2{margin:0 0 14px;font-size:24px;line-height:1.25;color:#111}#cookieNoticeBox p{margin:0 0 22px;font-size:16px;line-height:1.5;color:#333}#cookieNoticeOk{display:inline-block;width:100%;max-width:240px;border-radius:12px;padding:14px 22px;background:#111;color:#fff;font-size:17px;font-weight:700;text-decoration:none;box-sizing:border-box;cursor:pointer}#cookieNoticeOk:hover{background:#333}body.cookie-notice-locked{overflow:hidden} </style> <div id="cookieNoticeOverlay"> <div id="cookieNoticeBox" role="dialog" aria-modal="true"> <h2>Cookie на сайті</h2> <p>Ми використовуємо cookie для коректної роботи сайту та покращення сервісу.</p> </div> </div> <script> (function(){var storageKey='cookie_notice_ok_until';var showAgainAfter=24*60*60*1000;var now=Date.now();function getAcceptedUntil(){try{return Number(localStorage.getItem(storageKey))||0}catch(e){return 0}} function setAcceptedUntil(value){try{localStorage.setItem(storageKey,String(value))}catch(e){}} if(getAcceptedUntil()>now){return} var overlay=document.getElementById('cookieNoticeOverlay');var okLink=document.getElementById('cookieNoticeOk');if(!overlay||!okLink){return} function showNotice(){overlay.style.display='flex';document.body.classList.add('cookie-notice-locked')} function closeNotice(){overlay.style.display='none';document.body.classList.remove('cookie-notice-locked')} okLink.addEventListener('click',function(event){event.preventDefault();setAcceptedUntil(Date.now()+showAgainAfter);var rawHref=(okLink.getAttribute('href')||'').trim();if(rawHref==='#'||rawHref===''){closeNotice();return} var targetUrl=new URL(rawHref,window.location.origin).href;window.open(targetUrl,'_blank','noopener,noreferrer');closeNotice()});overlay.addEventListener('click',function(event){event.stopPropagation()});document.addEventListener('keydown',function(event){if(overlay.style.display==='flex'&&event.key==='Escape'){event.preventDefault();event.stopPropagation()}},!0);showNotice()})() </script></body> </html>