ایکس ایم ل ڈی او ایم نوڈ پوزیشن

نیود کی تلاش کو نیود کے تعلقات کے ذریعے کی جاسکتی ہے.

DOM نیود تلاش

نیود کے تعلقات کے ذریعے نیود درخت میں نیود تک رسائی حاصل کرنا، اکثر "نیود تلاش" (یا نیود ناویگیشن، navigating nodes) کہلاتا ہے.

در XML DOM میں، نیود کے تعلقات کو نیود کی خصوصیات کے طور پر دکھایا جاتا ہے:

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

نیچے کا نقشہ، books.xml نیود درخت کا ایک حصہ، اور نیود کے درمیان تعلقات کا معنی دیتا ہے:

ڈی او ایم نوڈ درخت

DOM - والد نیود

تمام نیود ایک والد نیود کا حوالہ رکھتے ہیں، نیچے کا کوڈ <book> کا والد نیود کی جانب بڑھتا ہے:

مثال

فانکشن myFunction(xml) {
var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName("book")[0];
    document.getElementById("demo").innerHTML = x.parentNode.nodeName;
}

شما خودتان امتحان کنید

توضیح مثال:

  1. گذاشتن books.xml لے آئی گئی xmlDoc میدان
  2. پہلے <book> نیود کو حاصل کریں
  3. نمایاں کریں "x" کی والد نیود کا نیود نام

خالی متن نیود روکنا

کچھ براوزر خالی یا نیم خالی یا نیم نیا لفظ کو متن نیود کا حوالہ دیتے ہیں، جس سے درست کارروائی میں مشکل آتی ہوتی ہے:

  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

کے لئے خالی متن نیود کی ناگزاری نہ کی جائے، ہم ایک فونکشن استعمال کرتے ہیں تاکہ نیود کی نوعیت کو چک کریں:

فانکشن get_nextSibling(n) {
    var y = n.nextSibling;
    در حالی که (نوع_نقطه y != 1) {
        y = y.nextSibling;
    }
    بازگرداندن y;
}

با داشتن این فانکشن‌ها، می‌توانیم از get_nextSibling(node) به جای attribute node.nextSibling استفاده کنیم.

توضیح کد:

نوع نقطه عناصر 1 است. اگر نقطه‌های هم سطح عناصر نیستند، به نقطه بعدی حرکت کنید تا نقطه عناصر پیدا شود.

دریافت اولین فرزند

کد زیر اولین نقطه <book> را نشان می‌دهد:

مثال

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    اگر (this.readyState == 4 && this.status == 200) {
        myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
فانکشن myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
    document.getElementById("demo").innerHTML = x.nodeName;
}
// بررسی کنید که اولین نقطه آیا نقطه عناصر است یا خیر
فانکشن get_firstChild(n) {
    var y = n.firstChild;
    در حالی که (نوع_نقطه y != 1) {
        y = y.nextSibling;
    }
    بازگرداندن y;
}
</script>
</body>
</html>

شما خودتان امتحان کنید

توضیح مثال:

  1. گذاشتن books.xml به xmlDoc بارگذاری شود
  2. از فانکشن get_firstChild روی اولین نقطه <book> استفاده کنید تا اولین فرزند نمايش داده شود
  3. نام نقطه اولین فرزند نمايش داده شود

مثال‌های بیشتر

lastChild()
استفاده از روش lastChild() و فانکشن سفارشی برای دریافت آخرین فرزند نقطه.
nextSibling()
برای دسترسی به گره‌های همسایه پایین‌تر از استفاده از روش nextSibling() و توابع شخصی‌سازی شده استفاده کنید.
previousSibling()
برای دسترسی به گره‌های همسایه بالاتر از استفاده از روش previousSibling() و توابع شخصی‌سازی شده استفاده کنید.