XML DOM firstChild ominaisuus
Määritelmä ja käyttö
firstChild
Ominaisuus palauttaa dokumentin ensimmäisen lapsisolmun.
Syntaksi
documentObject.firstChildHuomioitavaa:Firefox ja suurin osa muita selaimia katsoo tyhjät tilat tai rivinvaihdot tekstityökaluiksi, kun taas Internet Explorer ei. Siksi seuraavassa esimerkissä käytämme funktiota tarkistamaan ensimmäisen lapsisolmun solmun tyyppi.
Elementin nodeType on 1,joten jos ensimmäinen lapsi ei ole elementti, se siirtyy seuraavaan soluun ja tarkistaa, onko se elementti. Tämä jatkuu, kunnes löydetään ensimmäinen lapsi (musti olla elementti). Tämä takaa, että tuloksena oleva tulos on oikea kaikissa selaimissa.
提示:如需了解有关浏览器之间差异的更多信息,请访问 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_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); 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_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); // 获取根元素的最后一个子节点 var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }