XML DOM firstChild özelliği
Tanım ve Kullanım
firstChild
Belirtilen düğümün ilk alt düğümünü döndüren özellik.
Gramer
nodeObject.firstChild
Dikkat:Firefox ve çoğu diğer tarayıcı boşluk veya satır devrimi görüntülemek için metin düğümü olarak algılar, ancak Internet Explorer bunu yapmaz. Bu nedenle, aşağıdaki örnekte, ilk alt düğümün düğüm türünü kontrol etmek için bir fonksiyon kullanıyoruz.
Element düğümün nodeType'si 1 olduğundan, ilk alt düğüm element düğüm değilse, bir sonraki düğüme taşınır ve bu düğüm element düğüm mü denetlenir. Bu, ilk alt düğümün (element düğüm olmalıdır) bulunana kadar devam eder. Bu şekilde, sonuç tüm tarayıcılar için doğru olur.
İpucu:Tarayıcılar arasındaki farklılıklar hakkında daha fazla bilgi edinmek için XML DOM Eğitimi'ndeki DOM Tarayıcı Bölümüne gidin.
örnek
örnek 1
Aşağıdaki kod "books.xml" dosyasını xmlDoc'a yükler ve ilk alt düğümün düğüm adını gösterir:
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>"; }
örnek 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>"; }