Атрибут 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