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