Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в Веб программирование.doc
Скачиваний:
81
Добавлен:
07.11.2018
Размер:
4.42 Mб
Скачать

Свойства объектов-узлов

Свойство nodeName– имя узла (только для чтения) возвращает имя HTML тэга, которому соответствует данный узел, например, P для параграфа или UL для ненумерованного списка. Для узлов-атрибутов nodeName возвращает название атрибута, а для тестовых узлов возвращает#text.

Свойство узла nodeType-тип узла (только для чтения) возвращает 1, 2 или 3 для узлов, соответствующих тэгу, атрибуту или тексту, соответственно.

Текстовые узлы имеют еще одно очень важное свойство: nodeValue. Это свойство для чтения и записи хранит содержание текстового узла. Для элементов оно возвращает null, а для атрибутов - значение атрибута.

Несколько других свойств узлов - объектов dom

parentNode – ссылка на родительский узел, если он существует; childNodes – список дочерних узлов; firstChild – первый дочерний элемент; lastChild – последний дочерний элемент; previousSibling – указывает на предыдущий соседний узел, если у родительского узла несколько дочерних и текущий узел не первый дочерний;

nextSibling – указывает на следующий соседний узел, если у родительского узла несколько дочерних и текущий узел не последний дочерний; attributes – список атрибутов; ownerDocument – указатель на объект document, которому принадлежит текущий узел.

Создание новых узлов

DOM поддерживает следующие методы, связанные с созданием новых узлов:

createElement(tagName) – создает узел (тег) с именем, переданным в параметре;

createTextNode(string) – создает текстовый узел с содержанием, переданным в параметре.

createAttribute(name) – создает атрибут с именем, переданным в параметре;

createComment(string) – создает HTML-комментарий в виде <!--string -->, текст комментария передается в параметре;

createDocumentFragment() – создает новый документ для хранения новых узлов;

Все методы принадлежат объекту document.

Технику создания новых элементов обсудим на конкретном примере. Мы хотим добавить к нашему списку элемент: <LI>XML</LI>

Этому HTML элементу в DOM соответствуют два узла: узел-элемент<LI>и текстовый узел"XML". Следовательно, мы должны создать два новых узла с помощью методов createElement()и createTextNode()объектаdocument.

Метод createElement()принимает в качестве параметра строку с названием тэга элемента и создает новый HTML элемент указанного типа, например

var oItem = document.createElement("LI")

Метод возвращает ссылку на созданный им объект. Созданный выше элемент <LI> находится в памяти, но не входит в состав текущего документа. Для того, чтобы он стал частью документа, его надо добавить к существующим узлам документа с помощью методов insertBefore()или appendChild().

МетодcreateTextNode()используется для создания текстового узла. Он принимает в качестве параметра строку текста, которая задает значение свойства nodeValue текстового узла. Например, строка кода

var oText = document.createTextNode("XML")

создает новый текстовый узел"XML". Метод возвращает ссылку на созданный им объект. Созданный текст еще не входит в состав текущего документа. Для того, чтобы он стал частью документа, его надо присоединить к существующим узлам документа с помощью методов appendChild(),replaceNode()или insertBefore().

Итак, мы создали два новых узла: узел-элемент<LI>и текстовый узел"XML". Теперь займемся встраиванием этих узлов в документ.