XML DOM lastChild Eiendom
❮ Elementvoorwerp
Voorbeeld
Die volgende kodefragment laai " books.xml " in xmlDoc en kry die laaste kindernodus:
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 x, i,
txt, firstNode, xmlDoc;
xmlDoc = xml.responseXML;
x = xmlDoc.documentElement;
txt = "";
firstNode = get_lastchild(x);
for (i = 0; i < firstNode.childNodes.length; i++) {
if (firstNode.childNodes[i].nodeType == 1) {
//Process only element nodes
txt += firstNode.childNodes[i].nodeName +
" = " +
firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
}
}
document.getElementById("demo").innerHTML
= txt;
}
Die afvoer van die kode hierbo sal wees:
title = Learning XML
author = Erik T. Ray
year = 2003
price = 39.95
Definisie en gebruik
Die lastChild-eienskap gee die laaste kindernodus van die geselekteerde element terug
As die geselekteerde nodus geen kinders het nie, gee hierdie eienskap NULL terug.
Sintaksis
elementNode.lastChild
Wenke en notas
Let wel: Firefox, en die meeste ander blaaiers, sal leë spasies of nuwe reëls as teksnodes hanteer, Internet Explorer sal nie. Dus, in die voorbeeld hieronder, het ons 'n funksie wat die nodustipe van die laaste kindernodus kontroleer.
Element nodusse het 'n nodustipe van 1, so as die laaste kind node nie 'n element node is nie, skuif dit na die vorige node, en kyk of hierdie node 'n element node is. Dit gaan voort totdat die laaste kindernodus (wat 'n elementnodus moet wees) gevind word. Op hierdie manier sal die resultaat korrek wees in alle blaaiers.
Wenk: Om meer te lees oor die verskille tussen blaaiers, besoek ons DOM-blaaiers- hoofstuk in ons XML DOM-tutoriaal.
❮ Elementvoorwerp