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

Определение и Использование
Метод compareDocumentPosition() сравнивает положение в документе текущего узла с положением указанного узла – в соответствии с порядком документа.
Синтаксис
elementNode.compareDocumentPostition(node) |
Параметр | Описание |
---|---|
node | Обязательный параметр. Указывает узел, который требуется сравнить с текущим узлом |
Пример
Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc(), и сравнивает первый и третий узлы <book>:
Пример
Вывод:
|
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]; document.write(x.isEqualNode(y)); |
Вывод:
false |
Метод isSameNode()

Определение и Использование
Метод isSameNode() проверяет, является ли указанный узел тем же самым узлом, что и существующий узел.
Эта функция возвращает TRUE, если оба узла являются одинаковыми, и FALSE в противном случае.
Синтаксис
elementNode.isSameNode(node) |
Параметр | Описание |
---|---|
node | Обязательный параметр. Определяет узел, с которым сравнивать |
Пример
Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя
loadXMLDoc(), и проверяет, являются ли два узла одним и тем же:
Пример
Вывод:
|
Спасибо за внимание! До скорых встреч на страницах сайта okITgo.ru.