
- •DHTML (динамический HTML) – это набор средств, которые позволяют создавать более интерактивные Web-страницы
- •Для достижения перечисленных целей используются следующие методы:
- •Все эти явно разнородные методы покоятся, в действительности, на двух китах. Первым из
- •DOM обеспечивает динамический доступ к содержимому документа, его структуре и стилям. В DOM
- •DOM-модель — это внутреннее представление HTML-страницы в виде дерева. Все элементы страницы, включая
- •DOM — это модель HTML- и XML-документов, независимая от платформы и языка программирования,
- •На сегодняшний день W3C стандартизовал DOM 3-х уровней
- •Document
- •Объект document существует в единственном экземпляре для всего HTML-документа. Он присутствует всегда, если
- •Свойства объекта Document
- •DOM 2 HTML
- •Интерфейс HTMLDocument
- •Методы интерфейса HTMLDocument
- •HTML-элемент: интерфейс
- •Метод
- •Свойства интерфейса HTMLElement
- •При открытии любого HTML документа браузер предварительно производит разбор его содержимого и на
- •В DOM используется следующая терминология:
- •1. Все прямоугольники изображенные на картинке являются объектами (или узлами).
- •Корнем этого дерева является элемент HTML, который имеет двух детей — HEAD и
- •Каждый элемент данного дерева соответствует элементу HTML и, следовательно, имеет тег(и), содержимое и
- •Отношения между узлами
- •1.Все дочерние элементы, включая текстовые находятся в массиве childNodes.
- •1.Свойство parentNode указывает на родителя.
- •Обращение к элементам
- •Последовательное перемещение
- •Разберем процесс перемещения подробнее:
- •Прямое обращение к элементу
- •DOM Манипуляции
- •Полный набор констант типов узлов, определённый в спецификации W3C DOM
- •С помощью свойства innerHTML Вы можете получить доступ к содержимому текстового узла DOM
- •С помощью метода createElement() Вы можете создать элемент.
- •Добавить новый элемент к детям существующего элемента можно методом appendChild, который в DOM
- •insertBefore
- •cloneNode()
- •С помощью метода removeChild() Вы можете удалить узел потомок из элемента.
- •Быстрый способ удалить все содержимое тега - это присвоить свойству innerHTML пустую строку.
- •Для манипуляции узлами в объектной модели используются методы removeNode(), replaceNode() и swapNode().
- •Методы getAttribute (), setAttribute () и removeAttribute () позволяют, соответственно, получить и установить
- •Стандартные свойства
- •Стандартные методы
- •Таблица специальных DOM методов и свойств разных объектов
- •form
- •align alt
- •charset
- •form
- •deleteRow Удаляет строку таблицы.
- •insertRow
- •deleteCell Удаляет ячейку таблицы.
- •insertCell

cloneNode()
Другой способ создания новых узлов - это копирование (или клонирование) существующего узла. Метод cloneNode() выполняет эту операцию и принимает булев параметр (true - глубокое копирование, включая все дочерние элементы, false - поверхностное копирование(только текущий элемент)).
42

С помощью метода removeChild() Вы можете удалить узел потомок из элемента.
Данный метод возвращает удаленный узел.
list.removeChild(elem)
Для удаления элементов с помощью исключительно методов DOM - потребуется обойти всех потомков каждого узла и удалять каждый из них по отдельности. Ниже приведена небольшая функция, которая удаляет все узлы, начиная с переданного ей узла:
function removeAll(n) { while (n.firstChild) { n.removeChild(n.firstChild);
} }
43

Быстрый способ удалить все содержимое тега - это присвоить свойству innerHTML пустую строку. Следующий код удалит всех потомков узла BODY:
document.body.innerHTML = '';
44

Для манипуляции узлами в объектной модели используются методы removeNode(), replaceNode() и swapNode().
Метод removeNode удаляет объект, для которого он вызван, из структуры документа. Его единственный параметр может принимать булевы значения true или false. Значение true предписывает удалить и все порожденные данным объектом объекты, тогда как значение false (умалчиваемое) удаляет только сам объект, оставляя в документе все подчиненные ему объекты.
Замену одного объекта другим можно осуществить методом repiaceNode (), вызываемым для замещаемого объекта. Замещающий объект передается в качестве параметра метода. При замене объекта замещаемый объект удаляется из структуры документа.
Поменять местами два объекта в иерархии документа позволяет метод swapNode(). Меняются местами объект, метод которого вызывается, и объект, определяемый параметром метода.
45

Методы getAttribute (), setAttribute () и removeAttribute () позволяют, соответственно, получить и установить значение параметра элемента, не обращаясь к его свойствам, или удалить параметр.
alert("Значение параметра ALIGN равно: " + p1.getAttribute('align')); pi.setAttribute('align','right')
alert("Значение параметра ALIGN равно: " + p1.getAttribute('align')); pi.removeAttribute('align')
alert("Значение параметра ALIGN равно: " + p1.getAttribute('align'));
Эти три метода не чувствительны к регистру, т. е. для них неважно, строчными, прописными или и теми, и другими заданы имя параметра и его значение. Если для установки значения параметра или для задания его имени важен регистр, то дополнительный, последний параметр, принимающий значения true или false, определяет чувствительность этих методов к регистру.
46

Стандартные свойства
attributes
childNodes
className
id
innerHTML lastChild
nextSibling
nodeName nodeType nodeValue
Возвращает массив содержащий все атрибуты элемента.
Возвращает массив содержащий все узлы потомки элемента.
Позволяет установить или узнать значение атрибута class элемента.
Позволяет установить или узнать значение атрибута id элемента.
Позволяет установить или узнать текстовое содержимое (позволяет обратится к свойству текстового узла) элемента.
Позволяет обратится к последнему потомку элемента.
Позволяет обратится к следующему элементу на данном уровне иерархии (позволяет обратится к следующему узлу брату).
Возвращает имя узла.
Возвращает тип узла. 47 Возвращает значение узла.

Стандартные методы
appendChild
click
focus getAttribute
hasChildNodes
removeAttribute
removeChild
setAttribute
Добавляет узел потомок к элементу.
Производит щелчок по данному элементу.
Делает элемент активным.
Возвращает значение указанного атрибута.
Позволяет узнать имеет ли элемент узлы потомки.
Удаляет указанный атрибут. Удаляет указанный узел потомок. Позволяет добавить новый атрибут.
48

Таблица специальных DOM методов и свойств разных объектов
charset |
Возвращает или |
|
устанавливает значение |
|
|
|
атрибута charset ссылки. |
|
href |
Возвращает или |
|
устанавливает значение |
|
|
|
атрибута href ссылки. |
|
<a> name |
Возвращает или |
|
устанавливает значение |
|
|
|
атрибута name ссылки. |
|
target |
Возвращает или |
|
устанавливает значение |
|
|
|
атрибута target ссылки. |
|
type |
Возвращает или |
49 |
устанавливает значение |
|

form
name
<button
> type
value
Позволяет обратится к форме частью которой является данная кнопка.
Возвращает или устанавливает значение атрибута name данного элемента.
Возвращает или устанавливает значение атрибута type данного элемента.
Возвращает или устанавливает значение атрибута value данного 50 элемента.

<for
m>
acceptChar set
action
enctype
elements
enctype
lenght method
name
target reset()
submit()
Возвращает или устанавливает значение атрибута accept-charset данного элемента.
Возвращает или устанавливает значение атрибута action данного элемента.
Возвращает или устанавливает значение атрибута enctype данного элемента.
Возвращает массив который позволяет обратится ко всем элементам данной формы.
Возвращает или устанавливает значение атрибута enctype данного элемента.
Возвращает количество элементов данной формы.
Возвращает или устанавливает значение атрибута method данного элемента.
Возвращает или устанавливает значение атрибута name данного элемента.
Возвращает или устанавливает значение атрибута target данного элемента.
Сбрасывает содержимое всех полей формы. Действие данного метода аналогично нажатию кнопки reset.
Отправляет содержимое формы на сервер. Действие данного метода аналогично нажатию кнопки submit.
51

<inpu
t>
accept checked
defaultCheсk ed
form maxLength
name
readOnly
size
type
value
Возвращает или устанавливает значение атрибута accept (атрибут accept может присутствовать только у элементов с type='file').
Возвращает или устанавливает значение атрибута checked данного элемента (атрибут checked может присутствовать только у элементов input с type='checkbox' и type='radio').
Возвращает true если данный элемент выбран по умолчанию (т.е. если его атрибут checked='checked') и false если нет.
Позволяет обратится к элементам формы частью которой является данный элемент.
Возвращает или устанавливает значение атрибута maxlength данного элемента (атрибут maxlength может присутствовать только у элементов input с type='text' и type='password').
Возвращает или устанавливает значение атрибута name данного элемента.
Возвращает true если содержимое данного поля нельзя изменить (содержимое доступно только для чтения) и false в обратном случае (атрибут readonly запрещающий редактирование поля может быть задан только у элементов input с type='text' и type='password'.
Возвращает или устанавливает значение атрибута size данного элемента.
Возвращает или устанавливает значение атрибута type данного элемента.
Возвращает или устанавливает значение атрибута value |
|
данного элемента. |
52 |
Позволяет выделить текст элемента. Данный метод может