XML DOM lastChild-egenskab
Definition og brug
lastChild
Egenskaben returnerer dokumentets sidste undernode.
Syntaks
documentObject.lastChild
Bemærk:Firefox og de fleste andre browsere betragter tomrum eller linjeskift som tekstknuder, mens Internet Explorer ikke gør det. Derfor bruger vi en funktion til at kontrollere nodetypen for den sidste undernode i nedenstående eksempel.
Elementnodejs nodeType er 1,derfor hvis den sidste undernode ikke er et elementnode, vil den flytte til den foregående node og kontrollere om denne node er et elementnode. Dette vil fortsætte, indtil den finder den sidste undernode (som skal være et elementnode). På denne måde er resultatet korrekt i alle browsere.
提示:如需了解有关浏览器之间差异的更多信息,请访问 XML DOM 教程中的 DOM 浏览器章节。
实例
例子 1
下面的代码将 "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(); // 检查最后一个节点是否是元素节点 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>"; }
例子 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>"; }