Свойство previousSibling в XML DOM
Определение и использование
Свойство 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