Свойство previousSibling в XML DOM

Руководство по объекту Node

Определение и использование

Свойство previousSibling возвращает узел, который находится сразу перед данным узлом (находится на одном уровне иерархии)

Если этого узла нет, то свойство возвращает null.

Синтаксис:

nodeObject.previousSibling

Советы и комментарии

Комментарий:Internet Explorer игнорирует пустые текстовые узлы, образованные между узлами (например, символы перевода строки), в то время как Mozilla этого не делает. Поэтому в следующем примере мы используем функцию для проверки типа узла первого подузла.

Тип узла элемента равен 1, поэтому если первый подузел не является узлом элемента, он переходит к следующему узлу и продолжает проверять, является ли этот узел узлом элемента. Этот процесс продолжается до тех пор, пока не будет найден первый элементный подузел. Таким образом, мы можем получить правильный метод в Internet Explorer и Mozilla.

Совет:Для получения更多信息 о различиях в XML DOM между браузерами IE и Mozilla, пожалуйста, посетите наш DOM браузер Раздел.

Пример

Во всех примерах мы будем использовать файл XML books.xml, а также функция JavaScript loadXMLDoc().

Ниже приведен фрагмент кода, который можно получить из элемента <author> в документе XML:

//проверка, является ли предыдущий sibling узел узлом элемента
функция get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;

return x;

xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Previous sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

Вывод:

author = Giada De Laurentiis
Предыдущий sibling: title = Everyday Italian

Руководство по объекту Node