خصائص childNodes DOM XML

التعريف والاستخدام

childNodes الخاصية تعود NodeList يحتوي على العناصر الفرعية للعنصر المحدد.

إذا لم يكن العنصر المحدد يحتوي على عناصر فرعية، فإن هذه الخاصية تعود NodeList لا يحتوي على العناصر.

نصيحة:للتحقق من قائمة childNodes، استخدم خاصية nextSibling بدلاً من استخدام قائمة childNodes للشكل الأب بفعالية أكبر.

النحو

elementNode.childNodes

مثال

مثال 1

السطر التالي يقوم بتحميل "books.xml" إلى xmlDoc، و من "books.xml" الحصول على النص من العنصر الأول <title>:

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 myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("title")[0];
    var y = x.childNodes[0];
    document.getElementById("demo").innerHTML =
    y.nodeValue;
}

亲自试一试

مثال 2

السطر التالي يقوم بتحميل "books.xml" إلى xmlDoc، و من "books.xml" الحصول على عدد العناصر الفعلية من العنصر الأول <book>:
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 myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("book")[0].childNodes;
    document.getElementById("demo").innerHTML =
    x.length;
}

亲自试一试

Firefox 和大多数其他浏览器会将空白或换行视为文本节点,而 Internet Explorer 不会。因此,在上面的例子中,输出将会有所不同。

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