Tuesday, July 31, 2012

compareDocumentPosition()

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>