DOM - Node Object Method - compareDocumentPosition



The method compareDocumentPosition is used to compare the position of the current node against a specified node according to the document order. Returns unsigned short, how the node is positioned relatively to the reference node.

Syntax

Following is the syntax for the usage of the compareDocumentPosition method.

nodeObject.compareDocumentPosition(Node other)

S.No. Parameter & Description
1

other

It is the reference node to which the current node is compared. It is of type Node.

This method returns how the node is positioned relatively to the reference node.

Example

node.xml contents are as below −

<?xml version = "1.0"?>
<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

Following example demonstrates the usage of the compareDocumentPosition method −

<!DOCTYPE html>
<html>
   <head>
      <script>
         function loadXMLDoc(filename) {
            if (window.XMLHttpRequest) {
               xhttp = new XMLHttpRequest();
            } else // code for IE5 and IE6 {
               xhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xhttp.open("GET",filename,false);
            xhttp.send();
            return xhttp.responseXML;
         }
      </script>
   </head>
   <body>
      <script>
         xmlDoc = loadXMLDoc("/dom/node.xml");

         f1 = xmlDoc.getElementsByTagName('LastName')[1];
         f2 = xmlDoc.getElementsByTagName('LastName')[2];
         document.write("Result after comparing the position : ")
         document.write(f1.compareDocumentPosition(f2));
      </script>
   </body>
</html>

Execution

Save this file as nodemethod_comparedocumentposition.htm on the server path (this file and node.xml should be on the same path in your server). We will get the output as shown below −

Result after comparing the position : 4
dom_node_object.htm
Advertisements