XML DOM previousSibling پرزہ
تعلیم اور استعمال
previousSibling
اس کا اپنا پچھلے برابر نود (ایک ہی درجے کا پچھلے نود) کو برآمد کرتا ہے۔
اگر ایسا نود نہیں موجود ہے تو اس کا اپنائی جانا null ہوگا。
شرح وضاحت
elementNode.previousSibling
توجہ:فائر فاکس اور زیادہ تر دیگر براوزر خالی یا نیو لائن کو متن نود کے طور پر دیکھتے ہیں، جبکہ انٹرنیٹ ایکسپلورر نہیں دیکھتا ہے۔ لہذا نیچے کے مثال میں، ہم ایک فانکشن استعمال کرتے ہیں تاکہ پچھلے برابر نود کا نود نوع جاگر کریں。
عنصر کا نود نوع 1 ہوتا ہے، لہذا اگر پچھلے برابر نود ایک عناصر نود نہیں ہے تو اس کو پچھلے نود پر منتقل کیا جائے گا اور اس کو جانا جائے گا کہ وہ ایک عناصر نود ہے یا نہیں۔ یہ عمل جاری رہے گا، جب تک کہ پچھلے برابر نود (عنصر نود ہونا چاہئے) نہیں مل جائے گا۔ اس طرح، تمام براوزر میں نتائج درست ہوں گے。
توجه:برای اطلاعات بیشتری در مورد تفاوتهای بین مرورگرها، لطفاً به بخش DOM مرورگر در آموزش XML DOM مراجعه کنید.
مثال
مثال 1
کد زیر "books.xml" را به xmlDoc بارگذاری میکند و نود همسانی قبل از اولین علامت <author> را میگیرد:
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; }
مثال 2
استفاده از nextSibling، برای گرفتن نود بعدی همسانی:
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; }