XML DOM nextSibling نموذع
تعریف و کاربرد
nextSibling
اس کی اپنائی جانا اپنے بعد کا نود کا نموذع درج کراتا ہے (ایک ہی درجے کی سطح میں آئندہ نود)。
اگر ایسا نود نہیں موجود ہے تو اس کا اپنائی جانا null ہوتا ہے。
قواعد و ضوابط
nodeObject.nextSibling
توجہ:فائر فاکس اور زیادہ تر دیگر بروزر خالی یا نیو لائن کو فائل نود کے طور پر دیکھتے ہیں، جبکہ انٹر نیٹ ایکسپلورر نہیں دیکھتا ہے، لہذا نیچے کے مثال میں، ہم ایک فونکشن استعمال کرتے ہیں تاکہ آئندہ بندرگاہ کا نود کا نموذع کا جانچ کر سکیں。
عنصر کا nodeType 1 ہوتا ہے، لہذا اگر آئندہ بندرگاہ نہیں تو عناصر نود نہیں تو وہ آئندہ نود پر نقل و حرکت کرتا ہے اور اس کو جانتا ہے کہ وہ عناصر نود ہو یا نہیں، یہ عمل جاری رکھا جاتا ہے تاکہ آئندہ برابر نود (عناصر نود ہونا چاہئے) پائا جائے۔ اس طرح، تمام بروسر میں نتائج درست رہتے ہیں。
نکته:برای اطلاعات بیشتری در مورد تفاوتهای بین مرورگرها، لطفاً به بخش DOM مرورگر در آموزش XML DOM مراجعه کنید.
مثال
مثال 1
کد زیر "books.xml" را به xmlDoc بارگذاری میکند و از نود بعدی اولین علامت <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 get_nextsibling(n) { var x = n.nextSibling; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; var y = get_nextsibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>برادر بعدی: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
مثال 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_previoussibling(n) { var x = n.previousSibling; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("author")[0]; var y = get_previoussibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>برادر قبلی: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }