ویژگی firstChild XML DOM

تعریف و استفاده

firstChild این خاصیت اولین نود فرزند انتخاب شده‌ی عنصر را بازمی‌گرداند

این خاصیت NULL را بازمی‌گرداند اگر نود انتخاب شده دارای نود فرزند نباشد.

structures

elementNode.firstChild
نکات و یادداشت‌ها

توجه:Firefox و بیشتر مرورگرهای دیگر خالی یا خطوط کششی را به عنوان نودهای متن در نظر می‌گیرند، در حالی که Internet Explorer اینطور نیست. بنابراین، در این مثال از یک تابع برای بررسی نوع نود اولین نود فرزند استفاده می‌کنیم.

نودهای عناصر nodeType 1 دارند، بنابراین اگر اولین نود فرزند عناصر نیست، به نود بعدی حرکت می‌کند و بررسی می‌کند که آیا این نود عناصر است یا خیر. این کار ادامه دارد تا اولین نود فرزند پیدا شود (باید نود عناصر باشد). بنابراین، نتیجه در همه مرورگرها درست است.

توضیح:برای اطلاعات بیشتر در مورد تفاوت‌های بین مرورگرها، لطفاً به فصل DOM مرورگر در آموزش XML DOM مراجعه کنید.

مثال

این کد "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 x, i, txt, firstNode, xmlDoc;
    xmlDoc = xml.responseXML;
    x = xmlDoc.documentElement;
    txt = "";
    firstNode = get_firstchild(x);
    for (i = 0; i < firstNode.childNodes.length; i++) {
        if (firstNode.childNodes[i].nodeType == 1) {
            // تنها برای نودهای عناصر پردازش می‌کنیم
            txt += firstNode.childNodes[i].nodeName +"}}"
            " = " +
            firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
        }
    }
    document.getElementById("demo").innerHTML = txt;
}

آزمایش کنید