XML DOM firstChild özelliği
Tanım ve Kullanım
firstChild
Özellik, belgenin ilk alt düğümünü döndürür.
Sözdizimi
documentObject.firstChildDikkat:Firefox ve çoğu diğer tarayıcı, boşluk veya satır atlamasını metin düğümü olarak kabul ederken, 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'ı 1'dir, bu yüzden 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'ye yükler ve ilk alt düğümün adını ve türü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>"; }