XML DOM previousSibling అనునందనం

నిర్వచనం మరియు ఉపయోగం

previousSibling అనునందనం ఎంపికచేసిన ఎలిమెంట్ యొక్క ముంది సమాన క్రమంలోని నోడ్ అనేది తిరిగి ఇస్తుంది (అదే ట్రీ స్థాయిలో ముంది నోడ్).

అటువంటి నోడ్ లేకపోతే, ఈ అనునందనం null అనేది తిరిగి ఇస్తుంది.

సంకేతాలు

elementNode.previousSibling
టిప్స్ అండ్ నోట్స్

చూపుదారికి:ఫైర్ఫాక్స్ మరియు పలు ఇతర బ్రౌజర్లు శూన్యం లేదా కాంటిన్యూయేషన్ ను టెక్స్ట్ నోడ్ అని పరిగణిస్తాయి, కానీ ఇంటర్నెట్ ఎక్స్ప్లోరర్ అలా పరిగణించదు. ఈ కారణంగా, మేము ముంది సమాన క్రమంలోని నోడ్ యొక్క నోడ్ టైప్ ను తనిఖీ చేసే ఫంక్షన్ ఒకటిని ఉపయోగిస్తున్నాము.

ఎలిమెంట్ నోడ్ యొక్క nodeType అనేది 1 అయితే, ముంది సమాన క్రమంలోని నోడ్ ఎలిమెంట్ నోడ్ కాదు అయితే, ముంది నోడ్ కు జరిపించి, ఆ నోడ్ ఎలిమెంట్ నోడ్ అని పరిశీలించండి. ఇది ముంది సమాన క్రమంలోని నోడ్ అని కనుగొనే వరకు కొనసాగుతుంది (ఎలిమెంట్ నోడ్ అయివాలి). ఈ విధంగా, అన్ని బ్రౌజర్లలో ఫలితం సరైనది.

హింసాజనకం:}బ్రౌజర్ల మధ్య వ్యత్యాసాల గురించి మరింత సమాచారం తెలుసుకోవడానికి 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

నెక్స్ట్ స్యాబ్లియర్ ఉపయోగించి అనేకరందుకు సమాన నోడ్ పొందండి:

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

亲自试一试