Модель DOM
Обеспечивает доступ ко всем элементам документа и их атрибутам посредством древовидной структуры объектов
Позволяет создавать, удалять и изменять элементы документа и их содержимое
DOM – представление документа, загруженного в окно браузера, в виде дерева тегов
2
Терминология DOM
Каждый документ содержит элементы, представляемые узлами
Всего существует 12 типов узлов, основных узлов два: узел-элемент и узел-текст
Тег (с возможными атрибутами) представляется узлом-элементом
Текст представляется узлом-текстом
Узел-элемент и узел-текст – равноправные узлы дерева
Типы узлов приведены в спецификации DOM
http://www.w3.org/TR/DOM-Level-3-Core/idl-definitions.html
ELEMENT_NODE = 1
4
Навигация по дереву
Начать навигацию по дереву можно с любого узла, для которого известен идентификатор, задаваемый параметром тега id
МетодgetElementById(идентификатор_узла)
5
Навигация по дереву
Свойства для чтения
parentNode
childNodes[i]
firstChild
(Node – текущий узел)
lastChild
previousSibling
nextSibling
7
Проблемы навигации по дереву
Некоторые браузеры трактуют символы пробелов и переходы на новую строку как текстовые узлы
Это вызывает проблемы при использовании свойств: firstChild, lastChild, nextSibling, previousSibling
10
Свойства узлов
nodeType – тип узла
nodeName и tagName – имя тега
nodeName определено для многих типов узлов
tagName определено только для элементов-узлов
11
Свойства узлов
innerTEXT – текст элемента без тегов HTML (чт/зап)
outerTEXT – текст элемента без тегов HTML (чт/зап)
innerHTML – содержит текст и HTML-элементы для данного тега (html-содержимое узла в виде строки)
outerHTML – содержит текст и HTML-элементы для данного и вложенных тегов (html-узел целиком)
12
Свойства innerHTML и outerHTML
Березовая роща
16
Редактирование дерева
Методы
createElement()создание нового узла-элемента
createTextNode() создание нового узла-текста
appendChild()добавление узла в конец коллекции childNodes узла, для которого метод был вызван
insertBefore()добавление узла с возможностью указания места, куда вставляется новый узел
17
Редактирование дерева
Удаление узла
removeChild()удаление потомка узла, для которого метод был вызван
removeNode()удаление узла из документа
21
Редактирование дерева
Нумерованный список
23
Редактирование дерева
Атрибуты узлов
createAttribute()создает новый атрибут узла
setAttribute()присваивает значение атрибуту
removeAttribute()удаляет атрибут
getAttribute()возвращает текущее значение атрибута
24
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.