ویژگی previousSibling XML DOM
تعریف و استفاده
ویژگی previousSibling میتواند نود برادر قبلی نود را که در یک سطح یکسان قرار دارد، بازگرداند
اگر این نود وجود نداشته باشد، این ویژگی null را برمیگرداند.
نحوهی نوشتن:
nodeObject.previousSibling
توضیحات و نکات
توضیح:Internet Explorer نودهای خالی بین نودها را (مثلاً علامتهای سقوط) نادیده میگیرد، در حالی که Mozilla این کار را نمیکند. بنابراین، در مثالهای زیر، ما از یک تابع برای بررسی نوع نود اولین نود فرزند استفاده خواهیم کرد.
نوع نود یک عنصر نود است 1، بنابراین اگر اولین نود فرزند یک نود عنصر نیست، آن به نود بعدی حرکت میکند و ادامه میدهد تا بررسی کند که آیا این نود یک نود عنصر است یا خیر. این فرآیند تا زمانی که اولین نود فرزند عنصر پیدا شود ادامه دارد. با این روش، میتوانیم در Internet Explorer و Mozilla روش صحیح را دریافت کنیم.
توجه:برای اطلاعات بیشتر در مورد تفاوتهای XML DOM بین مرورگرهای IE و Mozilla، به وبسایت ما مراجعه کنید DOM مرورگر فصل.
مثال
در تمام مثالها، ما از فایل XML استفاده خواهیم کرد books.xml، و تابعهای JavaScript loadXMLDoc().
این کد نمونه میتواند از نود <author> در مستند XML استخراج شود تا نود برادر قبلی همسانی را بدست آورد:
// بررسی اگر نود برادر قبلی یک نود عنصر است
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling
;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />برادر قبلی: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
خروجی:
نویسنده = Giada De Laurentiis برادر قبلی: عنوان = Everyday Italian