XML DOM previousSiblingСвойство


Объект Node

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

Свойство previousSibling возвращает узел, непосредственно предшествующий элементу (на том же уровне дерева).

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

Синтаксис

nodeObject.previousSibling

Советы и примечания

Примечание:Firefox и большинство других браузеров рассматривают пустые пробелы или созданные между узлами как текстовые узлы, тогда как Internet Explorer игнорирует пустые текстовые узлы, созданные между узлами. Поэтому в приведенном ниже примере мы будем использовать функцию для проверки типа узла предыдущего соседнего узла.

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

Совет:Чтобы узнать больше о различиях браузеров, посетите нашуглаву о DOM в браузерах.


Пример

В следующем фрагменте кода используетсяloadXMLDoc(), чтобы загрузить "" в xmlDoc и получить предыдущий соседний узел первого элемента <author>:

Пример

//Получить предыдущий соседний узел узла-элемента function get_previoussibling(n) { x=n.previousSibling; while (x.nodeType!=1) { x=x.previousSibling; } return x; } xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("author")[0]; document.write(x.nodeName); document.write(" = "); document.write(x.childNodes[0].nodeValue); y=get_previoussibling(x); document.write("<br>Предыдущий соседний узел: "); document.write(y.nodeName); document.write(" = "); document.write(y.childNodes[0].nodeValue);

Приведённый выше код выведет:

author = Giada De Laurentiis
Предыдущий соседний узел: title = Everyday Italian

Попробуйте сами »

Попробуйте сами


Объект Nodeдругие расширения