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.firstChild
İpuçları ve Notlar

Dikkat: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>";
}

Kişisel olarak deneyin

ö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>";
}

Kişisel olarak deneyin