XML DOM compareDocumentPosition() มีอยู่ในความหมาย

คำนิยามและวิธีใช้

compareDocumentPosition() เปรียบเทียบตำแหน่งของโครงสร้าง DOM (เอกสาร) ของสองตัวเลขของไฟล์

การใช้งาน

nodeObject.compareDocumentPosition(node)

ตัวแปร

ตัวแปร คำอธิบาย
node จำเป็น ตัวแทน Node กำหนดตัวอย่างที่จะเปรียบเทียบกับตัวอย่างปัจจุบัน

รายละเอียดเทคนิค

DOM รุ่น Core Level 3 Node Object
ค่าที่กลับมา

ตัวเลขที่แสดงตำแหน่งของสองตัวอย่างเกี่ยวข้อง ค่าที่สามารถกลับมาได้นั้น

  • 1 - ไม่มีความสัมพันธ์ สองตัวอย่างไม่เป็นส่วนหนึ่งของเอกสารเดียวกัน
  • 2 - ตัวอย่างที่กำหนดอยู่ก่อนตัวอย่างปัจจุบัน
  • 4 - ตัวอย่างที่กำหนดตามหลังตัวอย่างปัจจุบัน
  • 8 - ตัวอย่างที่กำหนดมีตัวแทนเดียวกัน
  • 16 - ตัวอย่างที่กำหนดมีอยู่ในตัวอย่างปัจจุบัน
  • 32 - ตัวอย่างที่กำหนดและตัวอย่างปัจจุบันไม่มีตัวแทนเดียวกันหรือสองตัวอย่างเป็นเครื่องหมายเดียวกัน

แจ้งเตือน:ค่าที่สามารถกลับมาได้ยังเป็นการรวมของค่า ตัวอย่าง ค่าที่กลับมา 20 หมายความว่าตัวอย่างที่กำหนดได้มีอยู่ในตัวอย่างปัจจุบัน (16) และตัวอย่างที่กำหนดได้ตามหลังตัวอย่างปัจจุบัน (4)

ตัวอย่าง

รหัสด้านล่างนี้จะนำ "books.xml" มาโหลดเข้า xmlDoc และเปรียบเทียบตำแหน่งของสองตัวอย่าง (ตัวอย่างแรกและตัวอย่างที่สาม <book>) ในโครงสร้าง 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);
}

ลองทดลองด้วยตัวเอง

ส่วนใหญ่แบบรีดเออร์จะใช้ช่องว่างหรือบรรทัดใหม่เป็นตัวข้อความได้ แต่ IE 9 และเวอร์ชั่นต่อไปของมันไม่เช่นนั้น ดังนั้น ในตัวอย่างด้านบน ส่วนใหญ่แบบรีดเออร์จะแสดง 4 แต่ IE 9 และเวอร์ชั่นต่อไปของมันจะแสดง 2

瀏覽器支持

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
支持 支持 支持 支持 支持

所有主流瀏覽器都支持 compareDocumentPosition() 方法。

註釋:Internet Explorer 9 及更早版本不支持此方法。