XML DOM compareDocumentPosition()方法
定义和用法
compareDocumentPosition()
DOM层次结构(文档)中两个节点的位置进行比较的方法。
Sözdizimi
nodeObject.compareDocumentPosition(node)
Parametre
Parametre | Açıklama |
---|---|
node | Gerekli. Node nesnesi. Karşılaştırılan düğümü belirler. |
Teknik Açıklamalar
DOM Sürümü: | Core Level 3 Node Object |
---|---|
Dönüşüm değeri: |
Sayılar, iki düğümün nispi konumunu belirtir. Olası dönüşüm değerleri:
Dikkat:Dönüşüm de değerlerin kombinasyonu olabilir. Örneğin, dönüşüm değeri 20, belirtilen düğümün mevcut düğüm (16) içinde bulunduğunu ve belirtilen düğümün mevcut düğümün ardından (4) olduğunu belirtir. |
Örnek
Aşağıdaki kod, "books.xml" dosyasını xmlDoc'ya yükler ve DOM hiyerarşisindeki iki düğümün (ilk ve üçüncü <book> elementleri) konumunu karşılaştırır:
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); }
Çoğu tarayıcı, boşluk veya yeni satırı metin düğümü olarak görür, IE 9 ve daha eski sürümleri değil. Bu nedenle, yukarıdaki örnekte, çoğu tarayıcı 4 çıktısını verecek, ancak IE 9 ve daha eski sürümleri 2 çıktısını verecektir.
Tarayıcı Desteği
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Desteği | Desteği | Desteği | Desteği | Desteği |
Tüm popüler tarayıcılar compareDocumentPosition() yöntemini desteklemektedir.
Açıklama:Internet Explorer 9 ve daha eski sürümler bu yöntemi desteklememektedir.