Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASCII и latin.docx
Скачиваний:
3
Добавлен:
08.08.2019
Размер:
190.09 Кб
Скачать

1 Модель dom может также использоваться для представления xmLдокументов,

которые имеют значительно более сложный синтаксис, чем HTMLдокументы.

Древовидное представление таких документов может содержать узлы, являю

щиеся ссылками на XMLсущности, инструкции по обработке, разделы CDATA

и пр. Дополнительные сведения об использовании DOM с XMLдокументами

можно найти в главе 21.

Рис. 15.1. Древовидное представление HTML'документа15.4. Обзор объектной модели W3C DOM 325

вается родительским по отношению к данному узлу. Узлы, расположенные на

один уровень ниже другого узла, являются дочерними по отношению к данному

узлу. Узлы, находящиеся на том же уровне и имеющие того же родителя, назы

ваются братьями. Узлы, расположенные на любое число уровней ниже другого

узла, являются его потомками. Родительские, прародительские и любые дру

гие узлы, расположенные выше данного узла, являются его предками.

15.4.2. Узлы

Древовидная структура DOM, изображенная на рис. 15.1, представляет собой де

рево объектов Node различных типов. Интерфейс Node1 определяет свойства и ме

тоды для перемещения по дереву и манипуляций им. Свойство childNodes объек

та Node возвращает список дочерних узлов, свойства firstChild, lastChild, next

Sibling, previousSibling и parentNode предоставляют средство обхода узлов дерева.

Такие методы, как appendChild(), removeChild(), replaceChild() и insertBefore(),

позволяют добавлять узлы в дерево документа и удалять их. Далее в этой главе

мы встретим примеры применения этих свойств и методов.

15.4.2.1. Типы узлов

Типы узлов в дереве документа представлены специальными подынтерфейсами

интерфейса Node. У любого объекта Node есть свойство nodeType, определяющее

тип данного узла. Если свойство nodeType узла равно, например, константе

Node.ELEMENT_NODE, значит, объект Node является также объектом Element, и можно

использовать с ним все методы и свойства, определенные интерфейсом Element.

В табл. 15.1 перечислены чаще всего встречающиеся в HTMLдокументах типы

узлов и значения nodeType для каждого из них.

Таблица 15.1. Основные типы узлов

Корневым узлом DOMдерева является объект Document. Свойство documentElement

этого объекта ссылается на объект Element, представляющий корневой элемент до

кумента. Для HTMLдокументов это тег <html>, явно или неявно присутствующий

в документе. (Помимо корневого элемента узел Document может иметь другие до

черние элементы, такие как объекты Comment.) В HTMLдокументах, как правило,

1 Стандарт dom определяет интерфейсы, а не классы. Те, кто не знаком с термином

«интерфейс» в объектноориентированном программировании, могут рассматри

вать его как абстрактный класс. Позднее в этом обзоре модели DOM я более под

робно объясню различия между классом и интерфейсом.

Интерфейс Константа nodeType Значение nodeType

Element Node.ELEMENT_NODE 1

Text Node.TEXT_NODE 3

Document Node.DOCUMENT_NODE 9

Comment Node.COMMENT_NODE 8

DocumentFragment Node.DOCUMENT_FRAGMENT_NODE 11

Attr Node.ATTRIBUTE_NODE 2326 Глава 15. Работа с документами

наибольший интерес представляет элемент <body>, а не <html>, потому для удобст

ва можно пользоваться свойством document.body для ссылки на этот элемент.

В DOMдереве существует лишь один объект Document. Большинство узлов дерева –

это объекты Element, которые представляют такие теги, как <html> и <i>, а также

объекты Text, представляющие текстовые строки. Если в документе имеются

комментарии, синтаксический анализатор сохраняет их в DOMдереве в виде

объектов Comment. На рис. 15.2 приводится неполная иерархия классов для этих

и других базовых DOMинтерфейсов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]