نقطه‌ی nextSibling XML DOM

تعریف و استفاده

nextSibling این خاصیت نقطه بعدی هم‌طبقه انتخاب شده را برمی‌گرداند (نقطه بعدی در سطح درختی).

اگر چنین نقطه‌ای وجود ندارد، این خاصیت null را برمی‌گرداند.

زبان‌نویسی

elementNode.nextSibling
نکات و یادداشت‌ها

توجه:Firefox و بیشتر مرورگرهای دیگر خالی‌ها یا خطوط شکست را به عنوان نقطه‌های متن در نظر می‌گیرند، در حالی که Internet Explorer اینطور نیست. بنابراین، در مثال‌های زیر از یک تابع برای بررسی نوع برادر بعدی نقطه استفاده می‌کنیم.

نقطه‌ای که نوع آن 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

با استفاده از روش previousSibling، نود هم سطح قبلی را دریافت کنید:

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;
{}

آزمایش کنید