एक्सएमएल डॉम compareDocumentPosition() मेथड

वर्णन और उपयोग

compareDocumentPosition() डॉम स्ट्रक्चर (डॉक्यूमेंट) में दो नोड के स्थान की तुलना करता है।

व्याकरण

nodeObject.compareDocumentPosition(node)

पारामीटर

पारामीटर वर्णन
node आवश्यक। Node ऑब्जेक्ट। निर्दिष्ट नोड को मौजूदा नोड के साथ तुलना करने के लिए निर्दिष्ट किया जाता है。

तकनीकी विवरण

DOM संस्करण: Core Level 3 Node Object
वापसी मूल्य:

संख्या, दोनों नोड के साथी स्थान को दर्शाती है। संभव वापसी मूल्य इस प्रकार हैं:

  • 1 - कोई संबंध नहीं है, दोनों नोड एक ही दस्तावेज़ में नहीं हैं。
  • 2 - निर्दिष्ट नोड मौजूदा नोड से पहले है。
  • 4 - निर्दिष्ट नोड मौजूदा नोड के बाद आता है。
  • 8 - निर्दिष्ट नोड मौजूदा नोड कोचरता है。
  • 16 - निर्दिष्ट नोड मौजूदा नोड में शामिल है。
  • 32 - निर्दिष्ट नोड और मौजूदा नोड कोई सामान्य कंटेनर नोड नहीं है, या दोनों नोड एक ही नोड के विभिन्न गुण हैं。

ध्यान दें:वापसी मूल्य भी मूल्यों के समयांतरण का हो सकता है। उदाहरण के लिए, वापसी मूल्य 20 वापसी मूल्य इंगित करता है कि निर्दिष्ट नोड (16) में शामिल है, और निर्दिष्ट नोड (4) के बाद आता है。

उदाहरण

नीचे दिए गए कोड "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 及更早版本不支持此方法。