ویژگی 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; }