XML DOM lastChild ominaisuus
Määrittely ja käyttö
lastChild
Ominaisuus palauttaa dokumentin viimeisen lapsinoden.
Syntaksi
documentObject.lastChild
Huomioitavaa:Firefox ja useimmat muut selaimet näkevät tyhjät tilat tai rivinvaihdot tekstityökaluina, mutta Internet Explorer ei. Siksi alla olevassa esimerkissä käytämme funktiota tarkistamaan viimeisen lapsinoden tyypin.
Elementtisolun nodeType on 1, joten jos viimeinen lapsisolmu ei ole elementtisolmu, se siirtyy edelliseen solmuun ja tarkistaa, onko se elementtisolmu. Tämä jatkuu, kunnes löydetään viimeinen lapsisolmu (se on elementtisolmu). Tämä varmistaa, että tuloksena oleva tulos on oikein kaikissa selaimissa.
Vinkki:Lisätietoja selaimien välisistä eroista löydät XML DOM -oppaasta, osasta DOM selaimet.
Esimerkki
esimerkki 1
Tässä koodissa "books.xml" ladataan xmlDoc:iin ja näytetään dokumentin viimeisen lapsen solun nimi ja solutyypi:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // 检查最后一个节点是否是元素节点 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>"; }
esimerkki 2
获取文档的第一个子节点:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // 检查第一个节点是否为元素节点 function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // 获取文档的第一个子节点 var x = get_firstchild(xmlDoc); // 获取根元素的第一个子节点 var y = get_firstchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +" " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }