НЕ МОЛЧИ!!!    Сделай что-нибудь,
чтобы остановить войну России в Украине.
...бойтесь людей равнодушных - именно с их молчаливого согласия происходят все самые ужасные преступления на свете.   ("Репортаж с петлёй на шее")

Что такое DOM

Приведены начальные сведения об объектной модели документа DOM и ее назначении.

Содержание

  • Понятие DOM
  • Стандарты DOM

Понятие DOM

Итак, что же такое DOM и для чего он нужен?


Я могу, конечно, отослать вас к Википедии, там прописано хорошо, но, возможно, не для всех. Попробую попроще. Для этого надо вспомнить, что представляет собой Web страничка. Это обычная текстовая строка сформированная по определенным правилам и отправленная в ваш браузер Web сервером. В браузере она превращается в Web документ с изображениями и прочим, например, проигрывание аудио и видео. Как же браузеры, ведь это обычная программа, разбираются в их содержимом и отображают тексты, изображения, могут запустить нам плеер с нужным видео? А дело в том, что при загрузке такого файла браузеры его скрупулезно анализируют и создают в памяти пользовательского компьютера программную модель отображаемой страницы со всеми ее текстами, служебными тегами и другими составляющими. Эта модель странички в виде программного объекта и есть DOM — Document Object Model, что переводится как «объектная модель документа».
Может возникнуть вопрос, а зачем это надо? Отвечаю — программы с помощью DOM не только получают доступ к содержимому Web страницы, но и могут динамически изменять ее содержимое, структуру и многое другое. В первую очередь это нужно самим браузерам, чтобы из текстового файла создавать те шедевры, которые мы можем увидеть в интернете. Еще надо добавить, что создатели сделали эту модель универсальной, с ней может взаимодействовать любая операционная система и любая программа, более того, DOM пригоден для построения многих других документов, а не только Web страниц.
Надеюсь для кого-то стало ясней, на всякий случай резюмирую, DOM — это аналог Web страницы в виде некоего объекта.  С помощью свойств и методов этого объекта программы получают доступ к ее содержимому. Как это происходит можно посмотреть, например, здесь.

Стандарты DOM

Прежде чем разбираться с моделью, еще добавлю пару слов о стандартах.
Для того, чтобы браузеры одинаково строили свои модели страниц существуют стандарты консорциума W3C, описывающие, каким должен быть DOM.
Предостережение
. Поскольку стандарты W3C носят рекомендательный, а не обязательный характер, то вполне допустима вероятность того, что модели различных браузеров могут иметь некоторые отличия. Другими словами, иногда разные браузеры могут по разному отображать вам то, что прислал Web сервер, но это уже скорее история.

К тому времени, как консорциум W3C начал создавать свой стандарт, де факто их уже существовало достаточно много. Поэтому W3C в целях совместимости с существующими наработками в этой области определил так называемые уровни(level) стандарта, определяемые своими спецификациями, а все уровни объединены в общую группу с именем W3C DOM. Каждая спецификация может состоять из одного и более модулей, а каждый модуль описывает определенную область взаимодействия c моделью документа.
А теперь краткое описание и назначение уровней DOM на момент создания странички.
Модель DOM уровня 0 (DOM Level 0). Описывает модели, существовавшие до создания DOM Level 1. Формально не является стандартом, а описанием того, что существовало до начала стандартизации DOM концерном W3C.
Модель DOM уровня 1 (DOM Level 1). Описывает взаимодействие со всеми элементами HTML и XML документов с помощью стандартного набора функций.
Модель DOM уровня 2 (DOM Level 2). Определяет более совершенную модель взаимодействия с элементами документа, с событиями и таблицами стилей CSS, объединяет модели уровня 0 и 1.
Модель DOM уровня 3 (DOM Level 3). Дальнейшее развитие стандарта DOM W3C. Состоит из 6 модулей, описывающих специфику функционирования отдельных областей модели:

1. DOM Level 3 Core;

2. DOM Level 3 Load and Save;

3. DOM Level 3 XPath;

4. DOM Level 3 Views and Formatting;

5. DOM Level 3 Requirements;

6. DOM Level 3 Validation.