Metode Node.compareDocumentPosition()
(Core Level 1) membandingkan dua buah Node, dan hasil perbandingan itu mengembalikan unsigned short yang menunjukkan posisi antar mereka di dalam document tree.
Sintaks:
Node.compareDocumentPosition(other)
Metode Node.compareDocumentPosition()
di dukung oleh mayoritas browser: IE9, Opera, Firefox, Google Chrome, dan Safari.
Unsigned short yang dikembalikan:
- 1 - Tidak ada hubungan, kedua Node yang dibandingkan tidak terdapat di dalam satu dokumen yang sama.
- 2 - Node mempunyai posisi setelah other atau other mempunyai posisi sebelum Node.
Contoh:
<P><B ID="a">A</B> dan <B ID="b">B</B></P> <SCRIPT TYPE="text/javascript"> var a = document.getElementById("a"); var b = document.getElementById("b"); if (b.compareDocumentPosition(a) === 2) { alert("true"); // ini dijalankan. }else{ alert("false"); } </SCRIPT> - 4 - Node mempunyai posisi sebelum other atau other mempunyai posisi setelah Node.
Contoh:
<P><B ID="a">A</B> dan <B ID="b">B</B></P> <SCRIPT TYPE="text/javascript"> var a = document.getElementById("a"); var b = document.getElementById("b"); if (a.compareDocumentPosition(b) === 4) { alert("true"); // ini dijalankan. }else{ alert("false"); } </SCRIPT> - 10 - Node mempunyai posisi di dalam other atau other adalah parent dari Node.
Contoh:
<P ID="myp"><B ID="myb">Lorem imsum...</B></P> <SCRIPT TYPE="text/javascript"> var bElem = document.getElementById("myb"); var pElem = document.getElementById("myp"); if (bElem.compareDocumentPosition(pElem) === 10) { alert("true"); // ini dijalankan. }else{ alert("false"); } </SCRIPT>Atau Node adalah atribut dari other.
<P ID="myp"></P> <SCRIPT TYPE="text/javascript"> var pElem = document.getElementById("myp"); var attr = document.getElementById("myp").attributes.item(0); if (attr.compareDocumentPosition(pElem) === 10) { alert("true"); // ini dijalankan. }else{ alert("false"); } </SCRIPT>
Sebenarnya masih banyak lagi, contoh di bawah ini membandingkan dua atribut di dalam elemen P, CLASS dan ID:
<P ID="myp" CLASS="myclass"></P>
<SCRIPT TYPE="text/javascript">
var idAttr = document.getElementById("myp").attributes.item(0);
var classAttr = document.getElementById("myp").attributes.item(1);
if (idAttr.compareDocumentPosition(classAttr) === 36) {
alert("true"); // ini dijalankan.
}else{
alert("false");
}
</SCRIPT>