Атрибут nextSibling в XML DOM
Определение и использование
Атрибут nextSibling возвращает следующий同级 узел выбранного узла (следующий узел на том же уровне дерева).
Если такого узла не существует, то этот атрибут возвращает NULL.
Синтаксис:
elementNode.nextSibling
Подсказки и комментарии
Комментарий:Internet Explorer будет игнорировать пустые текстовые узлы, образованные между узлами (например, символы перевода строки), в то время как Mozilla этого не делает. Поэтому в следующем примере мы используем функцию для проверки типа узла следующего同级 узла.
Элементные узлы имеют тип узла 1, поэтому если следующий同级 узел не является узлом элемента, то переходим к следующему узлу и проверяем, является ли он узлом элемента. Этот процесс продолжается до тех пор, пока не будет найден следующий同级 узел. Этот метод гарантирует, что в Internet Explorer и Mozilla будут получены правильные результаты.
Для получения дополнительной информации о различиях между браузерами IE и Mozilla обратитесь к разделу XML DOM на сайте CodeW3C.com DOM браузер в этом разделе.
Пример
Во всех примерах мы будем использовать XML-файл books.xmlи JavaScript-функции loadXMLDoc()。
Следующий фрагмент кода��取 XML-документа следующего同级 узла элемента <title>:
//проверка, является ли следующий sibling узел узлом элемента
function get_nextsibling(n)
{
var x=n.nextSibling;
while (x.nodeType!=1)
{
x=x.nextSibling
;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("title")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_nextsibling(x);
document.write("<br />Следующий брат: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Вывод кода выше:
title = Everyday Italian Следующий брат: автор = Giada De Laurentiis