Атрибут lastChild в XML DOM
Определение и использование
Атрибут lastChild возвращает последний подузел выбранного узла.
Если选定ный узел не имеет подузлов, то этот атрибут возвращает NULL.
Синтаксис:
elementNode.lastChild
Подсказки и комментарии
Комментарий:Internet Explorer игнорирует пустые текстовые узлы, возникающие между узлами (например, символы новой строки), в то время как Mozilla этого не делает. Поэтому в следующем примере мы используем функцию для проверки типа узла последнего подузла.
элементные узлы имеют тип узла 1, поэтому если первый подузел не является узлом элемента, то перейдите к следующему узлу и проверьте, является ли он узлом элемента. Этот процесс продолжается до тех пор, пока не будет найден первый подузел. Этот метод гарантирует, что в Internet Explorer и Mozilla будут получены правильные результаты.
Для получения дополнительной информации о различиях между браузерами IE и Mozilla обратитесь к разделу XML DOM на CodeW3C.com DOM браузер в этой главе.
пример
во всех примерах мы будем использовать XML-файл books.xmlи JavaScript-функция loadXMLDoc().
ниже приведен фрагмент кода, извлекающий последний подузел из "books.xml":
//проверка, является ли последний узел узлом элемента
function get_lastchild(n)
{
var x =n.lastChild
;
while (x.nodeType != 1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.documentElement;
var lastNode=get_lastchild(x);
for (var i=0;i<lastNode.childNodes.length;i++)
{
if (lastNode.childNodes[i].nodeType==1)
{
//Обработка только узлов элемента
document.write(lastNode.childNodes[i].nodeName);
document.write(" = ");
document.write(lastNode.childNodes[i].childNodes[0].nodeValue);
document.write("<br />");
}
}
Вывод кода выше:
title = Learning XML author = Erik T. Ray year = 2003 price = 39.95