Свойства nodeName, nodeValue и nodeType содержат информацию об узлах.
Свойства узла
В XML DOM каждый узел является объектом.
У объектов есть методы и свойства, к которым можно получить доступ и которыми можно управлять с помощью JavaScript.
Три важных свойства узла:
- nodeName
- nodeValue
- nodeType
Свойство nodeName
Свойство nodeName содержит имя узла.
- nodeName – свойство только для чтения
- nodeName узла-элемента совпадает с именем тега
- nodeName узла-атрибута - это имя атрибута
- nodeName текстового узла всегда #text
- nodeName узла документа всегда #document
Свойство nodeValue
Свойство nodeValue содержит значение узла.
- nodeValue для узлов-элементов не определено
- nodeValue для текстовых узлов - это сам текст
- nodeValue для узлов-атрибутов - это значение атрибута
Получение значения элемента
Следующий код извлекает значение текстового узла первого элемента <title>:
var x = xmlDoc.getElementsByTagName("title")[0].childNodes[0];
var txt = x.nodeValue;
Результат: txt = "Everyday Italian".
Объяснение примера:
- Предположим, вы загрузили файл books.xml в xmlDoc
- Получаем текстовый узел первого узла-элемента <title>
- Передаем в переменную txt значение текстового узла
Изменение значения элемента
Следующий код изменяет значение текстового узла первого элемента <title>
var x = xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue = "Easy Cooking";
Объяснение примера:
- Предположим, вы загрузили файл books.xml в xmlDoc
- Получаем текстовый узел первого узла-элемента <title>
- Присваиваем текстовому узлу новое значение "Easy Cooking"
Свойство nodeType
Свойство nodeType содержит идентификатор типа узла. Это свойство доступно только для чтения.
Наиболее важные типы узлов:
Тип узла | nodeType |
---|---|
Элемент | 1 |
Атрибут | 2 |
Текст | 3 |
Комментарий | 8 |
Документ | 9 |