XML DOM compareDocumentPosition() روش
تعریف و استفاده
compareDocumentPosition()
مقایسه موقعیت دو نقطه از ساختار DOM (مستند)
منطق
nodeObject.compareDocumentPosition(node)
پارامترها
پارامترها | توضیح |
---|---|
node | ضروری. گره Node. گرهای که باید با گره فعلی مقایسه شود را مشخص میکند. |
جزئیات فنی
نسخه DOM: | Core Level 3 Node Object |
---|---|
بازگشتدهنده: |
اعداد، نشاندهنده موقعیت دو گره در مقایسه با یکدیگر هستند. مقادیر ممکن شامل:
توجه داشته باشید:ممکن است بازگشتدهندهها ترکیبی از مقادیر باشند. به عنوان مثال، بازگشتدهنده 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); }
بیشتر مرورگرها فضاهای خالی یا سطرهای جدید را به عنوان گرههای متن در نظر میگیرند، در حالی که نسخههای 9 و قبل از آن IE این کار را نمیکند. بنابراین، در مثال بالا، بیشتر مرورگرها 4 را به عنوان خروجی دارند، در حالی که نسخههای 9 و قبل از آن IE 2 را به عنوان خروجی دارند.
پشتیبانی مرورگرها
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی | پشتیبانی |
تمام مرورگرهای اصلی روش compareDocumentPosition() را پشتیبانی میکنند.
توضیح:نسخههای 9 و قدیمیتر از Internet Explorer این روش را پشتیبانی نمیکنند.