ویژگی firstChild XML DOM

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

firstChild این ویژگی به شما اجازه می‌دهد تا اولین فرزند یک نقطه را برگرداند.

نحوه استفاده

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

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

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

提示:如需了解有关浏览器之间差异的更多信息,请访问 XML DOM 教程中的 DOM 浏览器章节。

实例

例子 1

下面的代码将 "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 xmlDoc = xml.responseXML;
    var x = get_firstchild(xmlDoc);
    document.getElementById("demo").innerHTML =
    "نام گره: " + x.nodeName +"
    " (nodetype: " + x.nodeType + ")<br>";
}

آزمایش کنید

例子 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 =
    "نام گره: " + x.nodeName +" 
    " (nodetype: " + x.nodeType + ")<br>" +
    "نام گره: " + y.nodeName + 
    " (nodetype: " + y.nodeType + ")<br>";
}

آزمایش کنید