XML DOM previousSibling এট্রিবিউট

সংজ্ঞা এবং ব্যবহার

previousSibling এই এট্রিবিউট চিহ্নিত উপাদানটির আগের একই স্তরের নোড়টি ফিরিয়ে দেয় (যা একই ট্রি স্তরের আগের নোড়)

যদি এমন নোড় হয় না, তবে এই এট্রিবিউট নাল ফিরিয়ে দেয়

সংজ্ঞা

elementNode.previousSibling
টিপস এবং নোটস

নোটিশ:ফায়ারফক্স এবং অধিকাংশ অন্যান্য ব্রাউজার শুধুমাত্র স্বার্থহীন কিছু বা লাইন বিন্যাসকে টেক্সট নোড় হিসাবে মনে করে, এবং ইন্টারনেট এক্সপ্লোরার তাই করবে না। তাই, নিচের উদাহরণে, আমরা একটি ফাংশন ব্যবহার করে আগের একই স্তরের নোড়ের নোড় টাইপ পরীক্ষা করি。

উপাদান নোড়ের nodeType হল ১। তাই, যদি আগের একই স্তরের নোড় উপাদান নোড় না হয়, তবে আগের নোড়ে চলে যান এবং সেই নোড়টিকে পরীক্ষা করুন কি তা উপাদান নোড় হল না। এটা অব্যাহত চলবে, পর্যন্ত আগের একই স্তরের নোড় (যা উপাদান নোড় হতেই হবে) পাওয়া যায়। এইভাবে, ফলাফল সকল ব্রাউজারে সঠিক হবে।

সুঝান:ব্রাউজারগুলির মধ্যে ভিন্নতা সম্পর্কে আরও বেশি তথ্য জানতে XML DOM শিক্ষাক্রমের 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>Next sibling: " + y.nodeName + " = " + 
    y.childNodes[0].nodeValue;
}

亲自试一试