XML DOM compareDocumentPosition() మాథ్యూర్

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

compareDocumentPosition() డోమ్ హైరార్కీ (డాక్యుమెంట్) లో రెండు నోడ్ల స్థానాన్ని పోల్చుతుంది.

సింథాక్స్

nodeObject.compareDocumentPosition(node)

పారామీటర్లు

పారామీటర్లు వివరణ
node అవసరం. నోడ్ ఆబ్జెక్ట్. ప్రస్తుత నోడ్ తో పోల్చిన నోడ్ ని నిర్దేశిస్తుంది.

సాంకేతిక వివరాలు

DOM వెర్షన్: కోర్ లెవల్ 3 నోడ్ ఆబ్జెక్ట్
వాటిలో కొన్ని విలువలు కలిసి ఉంటాయి. ఉదాహరణకు, వాటిలో కొన్ని విలువలు 20 అవుతాయి. ఇది అర్థం చేస్తుంది కొన్ని నోడ్లు ప్రస్తుత నోడ్ మరియు ప్రస్తుత నోడ్ తర్వాత ఉన్నాయి.

సంఖ్యలు, రెండు నోడ్లు పరస్పరం స్థానాన్ని నిర్ణయించే స్థానాలు. సాధ్యమైన విలువలు కలిగి ఉంటాయి:

  • 1 - ఎటువంటి సంబంధం లేదు, రెండు నోడ్లు ఒకే డాక్యుమెంట్ లో లేవు.
  • 2 - నిర్దేశించిన నోడ్ ప్రస్తుత నోడ్ ముందు ఉంది.
  • 4 - నిర్దేశించిన నోడ్ ప్రస్తుత నోడ్ తర్వాత ఉంది.
  • 8 - నిర్దేశించిన నోడ్ ప్రస్తుత నోడ్ ని కంటైనర్ గా కలిగి ఉంది.
  • 16 - నిర్దేశించిన నోడ్ ప్రస్తుత నోడ్ లో ఉంది.
  • 32 - ప్రస్తుత నోడ్ మరియు నిర్దేశించిన నోడ్ కలిసి ఉన్న కంటైనర్ నోడ్ లేదా రెండు నోడ్లు అదే నోడ్ యొక్క వివిధ అంశాలు.

గమనిక:వాటిలో కొన్ని విలువలు కలిసి ఉంటాయి. ఉదాహరణకు, వాటిలో కొన్ని విలువలు 20 అవుతాయి. ఇది అర్థం చేస్తుంది కొన్ని నోడ్లు ప్రస్తుత నోడ్లో ఉన్నాయి మరియు ప్రస్తుత నోడ్ తర్వాత ఉన్నాయి.

ఉదాహరణ

ఈ కోడు "books.xml" ను xmlDoc లోకి లోడ్ చేసి, మరియు DOM హైరార్కీలో రెండు నోడ్లు (మొదటి మరియు మూడవ <book> ఎలమెంట్లు) యొక్క స్థానాన్ని పోలుస్తుంది:

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 myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName('book')[0];
    var y = xmlDoc.getElementsByTagName('book')[2];
    document.getElementById("demo").innerHTML =
    x.compareDocumentPosition(y);
}

మీరే ప్రయత్నించండి

చాలా బ్రౌజర్లు ఖాళీ లేదా కొత్త పంక్తిని టెక్స్ట్ నోడ్ గా పరిగణిస్తాయి, కానీ IE 9 మరియు ఆగ్రహంగా చాలా ప్రాచీన బ్రౌజర్లు అలా పరిగణించవు. అందువల్ల, పైన ఉన్న ఉదాహరణలో, చాలా బ్రౌజర్లు 4 అవుతుంది, కానీ IE 9 మరియు ఆగ్రహంగా చాలా ప్రాచీన బ్రౌజర్లు 2 అవుతుంది.

浏览器支持

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
支持 支持 支持 支持 支持

所有主流浏览器都支持 compareDocumentPosition() 方法。

注释:Internet Explorer 9 及更早版本不支持此方法。