Свойство XML DOM previousSibling
❮ Объект элемента
Пример
Следующий фрагмент кода загружает « books.xml » в xmlDoc и получает предыдущий одноуровневый узел из первого элемента <author>:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the previous sibling node is an element node
function
get_previoussibling(n) {
var x = n.previousSibling;
while (x.nodeType != 1) {
x =
x.previousSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("author")[0];
var y
= get_previoussibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Previous sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
Вывод кода выше будет:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
Определение и использование
Свойство previousSibling возвращает предыдущий одноуровневый узел (предыдущий узел на том же уровне дерева) выбранного элемента.
Если такого узла нет, это свойство возвращает значение null.
Синтаксис
elementNode.previousSibling
Советы и примечания
Примечание. Firefox и большинство других браузеров будут рассматривать пустые пробелы или новые строки как текстовые узлы, а Internet Explorer — нет. Итак, в приведенном ниже примере у нас есть функция, которая проверяет тип узла предыдущего родственного узла.
Узлы элементов имеют тип узла, равный 1, поэтому, если предыдущий одноуровневый узел не является узлом элемента, он перемещается к предыдущему узлу и проверяет, является ли этот узел узлом элемента. Это продолжается до тех пор, пока не будет найден предыдущий одноуровневый узел (который должен быть узлом элемента). Таким образом, результат будет правильным во всех браузерах.
Совет. Чтобы узнать больше о различиях между браузерами, посетите главу « Браузеры DOM » в нашем учебном пособии по XML DOM.
Демонстрации «Попробуйте сами»
❮ Объект элемента