ویژگی firstChild XML DOM
مفهوم و کاربرد
firstChild
این خاصیت اولین فرزند انتخاب شده را بازمیگرداند
اگر نمونه انتخاب شده فرزندی ندارد، این خاصیت NULL را بازمیگرداند.
زبان برنامهنویسی
elementNode.firstChild
توجه:Firefox و بیشتر مرورگرها خالی یا خطوط شکست را به عنوان نمونههای متن در نظر میگیرند، در حالی که Internet Explorer اینها را نمیگیرد. بنابراین، در مثال زیر از یک تابع برای بررسی نوع نمونه اولین فرزند استفاده میکنیم.
نمونهای از نمونههای nodeType 1 است، بنابراین اگر اولین فرزند نمونهای نیست، به فرزند بعدی حرکت میکند و بررسی میکند که آیا این فرزند نمونهای است یا خیر. این کار تا زمانی که اولین فرزند پیدا شود (باید نمونه باشد) ادامه دارد. بنابراین، نتیجه در همه مرورگرها درست است.
تذکر:برای اطلاعات بیشتری در مورد تفاوتهای بین مرورگرها، لطفاً به بخش DOM مرورگر در آموزش XML DOM مراجعه کنید.
مثال
کد زیر "books.xml" را به xmlDoc بارگذاری میکند و اولین فرزند را دریافت میکند:
متغیر xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { اگر (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // بررسی اینکه اولین نمونه آیا نمونهای است یا خیر دستور کار get_firstchild(n) { متغیر x = n.firstChild; در حالی که (x.nodeType != 1) { x = x.nextSibling; } بازگرداند x; } دستور کار myFunction(xml) { متغیر x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_firstchild(x); برای (i = 0; i < firstNode.childNodes.length; i++) { اگر (firstNode.childNodes[i].nodeType == 1) { // صرفی نمونهها txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }