Свойство XML DOM lastChild
❮ Объект документа
Пример
Следующий фрагмент кода загружает " books.xml " в xmlDoc и отображает имя узла и тип узла последнего дочернего узла документа:
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 last node is an
element node
function get_lastchild(n) {
var x = n.lastChild;
while (x.nodeType != 1) {
x = x.previousSibling;
}
return
x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = get_lastchild(xmlDoc);
document.getElementById("demo").innerHTML
=
"Nodename: " + x.nodeName +
"
(nodetype: " + x.nodeType + ")<br>";
}
Вывод кода выше будет:
Nodename: bookstore (nodetype: 1)
Определение и использование
Свойство lastChild возвращает последний дочерний узел документа.
Синтаксис
documentObject.lastChild
Советы и примечания
Примечание. Firefox и большинство других браузеров будут рассматривать пустые пробелы или новые строки как текстовые узлы, а Internet Explorer — нет. Итак, в приведенном ниже примере у нас есть функция, которая проверяет тип узла последнего дочернего узла.
Узлы элементов имеют тип узла, равный 1, поэтому, если последний дочерний узел не является узлом элемента, он перемещается к предыдущему узлу и проверяет, является ли этот узел узлом элемента. Это продолжается до тех пор, пока не будет найден последний дочерний узел (который должен быть узлом элемента). Таким образом, результат будет правильным во всех браузерах.
Совет. Чтобы узнать больше о различиях между браузерами, посетите главу « Браузеры DOM » в нашем учебном пособии по XML DOM.
Демонстрации «Попробуйте сами»
❮ Объект документа