XML DOM CompareDocumentPosition() Methode
❮ Knooppuntobject
Voorbeeld
Het volgende codefragment laadt " books.xml " in xmlDoc en vergelijkt de plaatsing van twee knooppunten (het eerste en het derde <book> element) in de DOM-hiërarchie:
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);
}
De uitvoer van de bovenstaande code zal zijn:
4
De meeste browsers behandelen lege spaties of nieuwe regels als tekstknooppunten, IE 9 en eerder niet. Dus in het bovenstaande voorbeeld zullen de meeste browsers 4 uitvoeren, terwijl IE 9 en eerder 2 zullen uitvoeren.
Definitie en gebruik
De methode CompareDocumentPosition() vergelijkt de plaatsing van twee knooppunten in de DOM-hiërarchie (document).
Browserondersteuning
De methode CompareDocumentPosition() wordt ondersteund in alle belangrijke browsers.
Opmerking: Internet Explorer 9 en eerder ondersteunen deze methode niet.
Syntaxis
nodeObject.compareDocumentPosition(node)
Parameters:
Parameter | Type | Description |
---|---|---|
node | Node object | Required. Specifies the node to compare with the current node |
Winstwaarde
Type | Description |
---|---|
Number | A Number representing where the two nodes are positioned compared to each other. The possible return values
are:
1 - No relationship, the two nodes do not belong to the same document. 2 - The specified node precedes the current node. 4 - The specified node follows the current node. 8 - The specified node contains the current node. 16 - The specified node is contained by the current node. 32 - The specified and the current node have no common container node or the two nodes are different attributes of the same node. Note: The return value could also be a combination of values. E.g. a return value of 20 means that the specified node is contained by the current node (16) AND the specified node follows the current node (4). |
Technische details
DOM-versie | Kernniveau 3 knooppuntobject |
---|
❮ Knooppuntobject