- •4.2.1. Повторные и опущенные объявления
- •Типы данных
- •3.1.3. Литералы вещественных чисел
- •3.1.6. Специальные числовые значения
- •3.2.2. Управляющие последовательности в строковых литералах
- •3.3. Логические значения
- •3.4.1. Функциональные литералы
- •3.6. Массивы
- •7.6.1. Добавление новых элементов в массив
- •7.7.9. Методы toString() и toLocaleString()
- •7.7.10. Дополнительные методы массивов
- •11.1.2. Классы символов
- •11.1.3. Повторение
- •11.1.4. Альтернативы, группировка и ссылки
- •11.1.6. Флаги
- •1 Здесь функция alert() используется просто для отображения информации: она
- •13.2.2. Сценарии во внешних файлах
- •13.3. Обработчики событий в html
- •13.5.5. Объект Window как контекст исполнения
- •15.2. Свойства объекта Document
- •1 Модель dom может также использоваться для представления xmLдокументов,
- •15.4.2. Узлы
- •15.4.2.1. Типы узлов
- •1 Стандарт dom определяет интерфейсы, а не классы. Те, кто не знаком с термином
- •15.4.2.2. Атрибуты
- •15.5. Обход документа
- •1 Во многих сложных dhtmLэффектах используются также приемы обработки
- •16.1. Обзор css
- •1 Эрик Мейер «css – каскадные таблицы стилей. Подробное руководство», 3е из
- •16.1.1. Применение правил стиля к элементам документа
- •16.2.1. Ключ к dhtml: абсолютное позиционирование
- •16.2.3. Определение положения и размеров элемента
- •16.3.2. Работа со свойствами стилей
- •300 Пикселов:
- •17.1.1.1. Аппаратнозависимые и аппаратнонезависимые события
- •17.1.2. Обработчики событий как атрибуты
- •1 Подробное описание htmLформ, включая пример проверки правильности за
- •17.2.6.3. Интерфейс MouseEvent
- •17.5. События клавиатуры
- •17.5.1. Типы событий клавиатуры
- •17.5. События клавиатуры 441
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интерфейсов.