Методы сравнения элементов compareDocumentPosition(), isEqualNode() и isSameNode()

Рубрика: DOM - Объектная Модель Документа

Приветствую, уважаемые посетители okITgo.ru! Сегодня мы рассмотрим несколько полезных методов xml элемента, позволяющих сравнивать эти самые элементы между собой – а именно: compareDocumentPosition() – сравнить положение в документе, isEqualNode() – равный элемент и isSameNode() – тот же самый элемент.

Метод compareDocumentPosition()


Справка по Объекту Элемент Все Методы Элемента


Определение и Использование

Метод compareDocumentPosition() сравнивает положение в документе текущего узла с положением указанного узла – в соответствии с порядком документа.

Синтаксис

elementNode.compareDocumentPostition(node)

Параметр Описание
node Обязательный параметр. Указывает узел, который требуется сравнить с текущим узлом


Пример

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc()
, и сравнивает первый и третий узлы <book>:


Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName(‘book’)[0];
y=xmlDoc.getElementsByTagName(‘book’)[2];

document.write(x.compareDocumentPosition(y));

Вывод:

4

Попробуйте сами »

Firefox и большинство других браузеров будут трактовать пустые пробельные символы или переходы на новую строку как текстовые узлы, в отличие от браузера Internet Explorer, который этого делать не будет. Так что в примере выше, браузеры Mozilla выведут ответ 4, тогда как Internet Explorer покажет значение 2.


Метод isEqualNode()


Справка по Объекту Элемент Все Методы Элемента


Определение и Использование

Метод isEqualNode() возвращает true, если узел равен данному узлу, в противном случае он вернет false.

Синтаксис

elementObject.isEqualNode(node)

Параметр Описание
node Обязательный параметр. Узел, с которым сравнивать


Пример

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc()
, и проверяет, равны ли два узла:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[1];
y=xmlDoc.getElementsByTagName("book")[2];

document.write(x.isEqualNode(y));

Вывод:

false


Метод isSameNode()


Справка по Объекту Элемент Все Методы Элемента


Определение и Использование

Метод isSameNode() проверяет, является ли указанный узел тем же самым узлом, что и существующий узел.

Эта функция возвращает TRUE, если оба узла являются одинаковыми, и FALSE в противном случае.

Синтаксис

elementNode.isSameNode(node)

Параметр Описание
node Обязательный параметр. Определяет узел, с которым сравнивать


Пример

Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc()
, и проверяет, являются ли два узла одним и тем же:


Пример

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0];
y=xmlDoc.getElementsByTagName("book")[1];

document.write(x.isSameNode(y));

Вывод:

false

Попробуйте сами »


Спасибо за внимание! До скорых встреч на страницах сайта okITgo.ru.