XML DOM firstChild 属性

定义和用法

firstChild Properti ini mengembalikan node anak pertama dari elemen yang dipilih

Jika node yang dipilih tidak memiliki node anak, properti ini mengembalikan NULL.

Sintaks

elementNode.firstChild
Tips and Notes

Perhatian:Firefox dan sebagian besar browser lainnya akan menganggap spasi atau baris kosong sebagai node teks, sedangkan Internet Explorer tidak. Oleh karena itu, di contoh di bawah ini, kami menggunakan fungsi untuk memeriksa jenis node node anak pertama.

Node jenis elemen nodeType adalah 1, jadi jika node anak pertama bukan jenis node elemen, dia akan bergerak ke node berikutnya dan memeriksa apakah node itu adalah jenis node elemen. Ini akan terus berlanjut sampai menemukan node anak pertama (mesti jenis node elemen). Demikian pula, hasilnya benar di semua browser.

Pemberitahuan:Untuk mendapatkan informasi lebih lanjut tentang perbedaan antara browser, kunjungi bab DOM Browser di tutorial XML DOM.

Contoh

berikut kode ini akan mengambil "books.xml" ke xmlDoc dan mendapatkan node anak pertama:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   jika (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// 检查第一个节点是否为元素节点
function get_firstchild(n) {
    var x = n.firstChild;
    saat (x.nodeType != 1) {
        x = x.nextSibling;
    }
    kembalikan x;
}
function myFunction(xml) {
    var x, i, txt, firstNode, xmlDoc;
    xmlDoc = xml.responseXML;
    x = xmlDoc.documentElement;
    txt = "";
    firstNode = get_firstchild(x);
    untuk (i = 0; i < firstNode.childNodes.length; i++) {
        jika (firstNode.childNodes[i].nodeType == 1) {
            // 仅处理元素节点
            txt += firstNode.childNodes[i].nodeName +""}
            " = " +
            firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
        }
    }
    document.getElementById("demo").innerHTML = txt;
}

亲自试一试