XML DOM compareDocumentPosition() method
Definition and usage
compareDocumentPosition()
Compare the positions of two nodes in the DOM hierarchy (document).
Syntaxe
nodeObject.compareDocumentPosition(node)
Paramètres
Paramètres | Description |
---|---|
node | Obligatoire. Objet Node. Définit le nœud avec lequel le nœud actuel doit être comparé. |
Détails techniques
Version DOM : | Core Level 3 Node Object |
---|---|
Valeur de retour : |
Les nombres représentent la position relative des deux nœuds. Les valeurs possibles de retour sont :
Remarque :La valeur de retour peut également être une combinaison de valeurs. Par exemple, une valeur de retour de 20 indique que le nœud spécifié est contenu dans le nœud actuel (16) et suit le nœud actuel (4). |
Exemple
Le code suivant charge "books.xml" dans xmlDoc et compare la position des deux nœuds (le premier et le troisième élément <book>) dans la hiérarchie DOM :
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); }
La plupart des navigateurs considèrent les espaces ou les nouvelles lignes comme des nœuds de texte, ce qui n'est pas le cas pour Internet Explorer 9 et les versions antérieures. Par conséquent, dans l'exemple ci-dessus, la plupart des navigateurs affichent 4, tandis que Internet Explorer 9 et les versions antérieures affichent 2.
Compatibilité des navigateurs
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Support | Support | Support | Support | Support |
Tous les navigateurs populaires prennent en charge la méthode compareDocumentPosition().
Remarque :Internet Explorer 9 et versions antérieures ne prennent pas en charge cette méthode.