Свойства firstChild, lastChild, nextSibling, parentNode и previousSibling элемента XML
Здравствуйте, уважаемые посетители okITgo.ru! Сегодня предлагаю рассмотреть свойства XML объекта Элемент, позволяющие получить доступ к родственным узлам, а именно firstChild – первый дочерний элемент, lastChild – последний дочерний элемент, nextSibling – следующий сестринский узел, parentNode – родительский элемент и previousSibling – предыдущий сестринский узел.
Свойство firstChild

Определение и Использование
Свойство firstChild возвращает первый дочерний узел выбранного узла
Если выбранный узел не имеет детей, это свойство вернет NULL.
Синтаксис
elementNode.firstChild |
Советы и Замечания
Замечание: Firefox и большинство других браузеров будут трактовать пустые пробельные символы и переходы на новую строку как текстовые узлы, в отличие от браузера Internet Explorer. Таким образом, в примере ниже имеется функция, которая проверяет тип узла первого дочернего элемента.
Узлы элементов имеют тип узла 1, так что если первый дочерний узел не является узлом элемента, функция переходит к следующему узлу и проверяет его (является ли он элементом). Это продолжается до тех пор, пока первый дочерний узел (который должен быть узлом элемента) не будет найден. В итоге, результат работы кода будет одинаковым во всех браузерах.
Совет: Чтобы прочитать больше о различиях между браузерами, читайте пост DOM Браузеры.
Пример
Следующий фрагмент кода загружает "books.xml" в xmlDoc с помощью loadXMLDoc() и получает первый дочерний узел:
Пример
Вывод кода выше будет:
Попробуйте сами » |
Свойство lastChild

Определение и Использование
Свойство lastChild возвращает последний дочерний узел выбранного элемента
Если выбранный узел не имеет детей, это свойство возвращает NULL.
Синтаксис
elementNode.lastChild |
Советы и Замечания
Замечание: Firefox и большинство других браузеров будут трактовать пустые пробельные символы и переходы на новую строку как текстовые узлы, в отличие от браузера Internet Explorer. Таким образом, в примере ниже имеется функция, которая проверяет тип узла последнего дочернего элемента.
Узлы элементов имеют тип узла 1, так что если последний дочерний узел не является узлом элемента, функция переходит к предыдущему узлу и проверяет его (является ли он элементом). Это продолжается до тех пор, пока последний дочерний узел (который должен быть узлом элемента) не будет найден. В итоге, результат работы кода будет одинаковым во всех браузерах.
Чтобы прочитать больше о различиях между браузерами, смотрите пост DOM Браузеры.
Пример
Следующий фрагмент кода загружает "loadXMLDoc(), и находит последний дочерний узел:
Пример
Вывод кода выше будет:
Попробуйте сами » |
Свойство nextSibling

Определение и Использование
Свойство nextSibling возвращает следующий сестринский узел (следующий узел на том же самом уровне дерева) выбранного элемента
Если такого узла нет, это свойство вернет null.
Синтаксис
elementNode.nextSibling |
Советы и Замечания
Замечание: Firefox и большинство других браузеров будут трактовать пустые пробельные символы и переходы на новую строку как текстовые узлы, в отличие от браузера Internet Explorer. Таким образом, в примере ниже имеется функция, которая проверяет тип узла следующего сестринского узла.
Узлы элементов имеют тип узла 1, так что если следующий сестринский узел не является узлом элемента, функция переходит к идущему за ним узлу и проверяет его (является ли он элементом). Это продолжается до тех пор, пока следующий сестринский узел (который должен быть узлом элемента) не будет найден. В итоге, результат работы кода будет одинаковым во всех браузерах.
Чтобы прочитать больше о различиях между браузерами, смотрите пост DOM Браузеры.
Пример
Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя loadXMLDoc(), и получает следующий сестринский узел первого элемента <title>:
Пример
Вывод кода выше будет:
Попробуйте сами » |
Демонстрации – Попробуйте Сами
previousSibling – Получение предыдущего сестринского узла
Свойство parentNode

Определение и Использование
Свойство parentNode возвращает родительский узел указанного элемента.
Синтаксис
elementNode.parentNode |
Пример
Следующий фрагмент кода загружает "books.xml" в xmlDoc посредством loadXMLDoc() и получает родительский узел первого элемента <title> в "books.xml":
Пример
Вывод кода выше будет:
Попробуйте сами » |
Свойство previousSibling

Определение и Использование
Свойство previousSibling возвращает предыдущий сестринский узел (узел, идущий непосредственно перед выбранным узлом на том же уровне дерева) выбранного элемента
Если такого узла не существует, то это свойство возвращает null.
Синтаксис
elementNode.previousSibling |
Советы и Замечания
Замечание: Firefox и большинство других браузеров будут трактовать пустые пробельные символы и переходы на новую строку как текстовые узлы, в отличие от браузера Internet Explorer. Таким образом, в примере ниже имеется функция, которая проверяет тип узла предыдущего сестринского узла.
Узлы элементов имеют тип узла 1, так что если предыдущий сестринский узел не является узлом элемента, функция переходит к идущему перед ним узлу и проверяет его (является ли он элементом). Это продолжается до тех пор, пока предыдущий сестринский узел (который должен быть узлом элемента) не будет найден. В итоге, результат работы кода будет одинаковым во всех браузерах.
Чтобы прочитать больше о различиях между браузерами, смотрите пост DOM Браузеры.
Пример
Следующий фрагмент кода загружает "books.xml" в xmlDoc, используя loadXMLDoc(), и получает предыдущий сестринский узел первого элемента <author>:
Пример
Вывод кода выше будет:
Попробуйте сами » |
Демонстрации – Попробуйте Сами
nextSibling – Получение следующего сестринского узла
