Модель dom: Document Object Model (объектная модель документа) / Хабр
Модель dom. Назначение модели dom. Уровни модели dom. Основные спецификации.
DOM (Document Object Model— «объектная
модель документа») — это не зависящий
от платформы и языка программный
интерфейс, позволяющий программам и
скриптам получить доступ к содержимому
HTML, XHTML и XML-документов, а также изменять
содержимое, структуру и оформление
таких документов.
Модель DOM не накладывает ограничений
на структуру документа. Любой документ
известной структуры с помощью DOM может
быть представлен в виде дерева узлов,
каждый узел которого представляет собой
элемент, атрибут, текстовый, графический
или любой другой объект. Узлы связаны
между собой отношениями «родительскийдочерний».
Специалисты международного консорциума
W3C классифицировали эту модель по
уровням, для каждого из которых была
создана своя спецификация. Все эти
спецификации объединены в общую группу,
носящую название W3C DOM.
Включает в себя все специфические
модели DOM document.images, document.forms, document.layers и
document.all.Базовые функциональные возможности
DOM (HTML и XML) в документах, такие как
получение дерева узлов документа,
возможность изменять и добавлять
данные.Поддержка так называемого пространства
имѐн XML <—filtered views—> и событий.Состоит из шести различных спецификаций:
DOM Level 3 Core;
DOM Level 3 Load and Save;
DOM Level 3 XPath;
DOM Level 3 Views and Formatting;
DOM Level 3 Requirements;
DOM Level 3 Validation.
Эти
спецификации являются дополнительными
расширениями DOM.
Сетевые службы. Примеры сетевых служб. Служба www (Web-сервер). Примеры реализации службы www.
Служба — это программная реализация
протоколов прикладного уровня стека
TCP/IP.
Как правило, служба реализуются в виде
сервера, предоставляющего услуги
клиентам (другим процессам). В этом
случае клиенты используют запросы
(определенные спецификациями) и получает
соответствующий сервис, предусмотренный
данному запросу.
Сетевые службы – DNS, DHCP,WWW, SMTP, telnet и многие
другие.
Служба WWW (World Wide Web)предназначена
для доступа кгипертекстовым
документамв сети Internet и включает в себя три основных компонента:
протокол HTTP, URI-идентификация ресурсов
и языкHTML (Hyper Text Markup Language).
Как и все службы Internet, служба WWW имеет
архитектуру клиент-сервер. Серверная
и клиентская части службы (обычно
называемые Web-сервер и Web-браузер)
взаимодействуют друг с другом с помощью
протокола HTTP. В настоящее время наиболее
известными серверными программами
являются Apache Web Server, Apache Tomcat,Microsoft IIS.
Web-приложение. Архитектура web-приложения.
Особенности реализации web-приложения.
Web-сервер и web-клиент.
Веб-приложение — клиент-серверное
приложение, в котором клиентом выступает
браузер, а сервером — веб-сервер. Логика
веб-приложения распределена между
сервером и клиентом, хранение данных
осуществляется, преимущественно, на
сервере, обмен информацией происходит
по сети. Одним из преимуществ такого
подхода является тот факт, что клиенты
не зависят от конкретной операционной
системы пользователя, поэтому
веб-приложения являются межплатформенными
сервисами.
Архитектура Web-приложений
Все Web-приложения можно условно разбить
на три составные части: серверная часть,
клиентское приложение и интерфейс.
Серверную часть образует Web-сервер,
возвращающий страницы приложения по
запросам пользователя. Чаще всего эти
страницы создаются динамически на
основе информации, обрабатываемой
приложением.
Клиентское приложение (браузер)
последовательно запрашивает страницы
с сервера, используя Dynamic HTML для управления
интерфейсом и частичной обработки
информации на компьютере клиента.
В Web-приложениях интерфейс практически
полностью формируется на сервере,
оставляя для исполнения клиентом только
управление созданной страницей. Более
того, существующие стандарты на браузеры
накладывают дополнительную специфику
на модель поведения приложения. В
частности, два свойства, которые
необходимо принимать во внимание при
разработке приложения — наличие истории
просмотра страниц и произвольный доступ
к любой странице приложения по известному
адресу. Последнее свойство обязательно
должно учитываться в приложениях,
использующих авторизацию пользователя.
Другая серьезная проблема в разработке
Web-приложения — отслеживание сессии
конкретного пользователя. Дело в том,
что по определению HTTP-протокол не имеет
понятия текущего состояния (stateless), т.е.
очередной запрос страницы абсолютно
не зависит от предыдущих запросов и
потому не требует уникального
идентификатора. Для отслеживания
последовательных запросов и идентификации
пользователя используются так называемые
cookies.
Document Object Model (DOM) | ATLEX.Ru
Document Object Model (DOM) – это универсальный инструмент, позволяющий JavaScript-разработчикам управляться с содержимым уже загруженной веб-страницы.
По своему формату это модель документа. В рамках этой модели содержимое документа представляется в виде различных объектов, состоящих в определенных отношениях. Каждый вложенный элемент HTML воспринимается как дочерний объект по отношению к тому, который его окружает. Атрибуты HTML превращаются в свойства таких объектов.
Таким образом, DOM служит для адаптации HTML-страницы под нормы объектно-ориентированного программирования, что существенно увеличивает возможности разработчика.
DOM – это модель, которая не зависит от того, где она выполняется и какой язык используется для её реализации.
Основная цель DOM – позволить веб-программисту создавать скрипты для динамического доступа к веб-странице и обновления частей её содержимого, структуры и стилей.
Стандартизация правил и рекомендаций вёрстки, проводимая консорциумом W3C затронула и DOM, теперь это де-факто стандарт в области работы с HTML-элементами.
История применения DOM и его современное состояние
DOM как объектная модель документа возник в 1995 году, во время острой конкурентной борьбы между двумя веб-браузерами – Internet Explorer и Netscape Navigator. Netscape Navigator проиграл, однако сейчас уже и Internet Explorer не столь широко представлен на рынке, как всего ещё пять лет назад.
Во время этой борьбы Document Object Model постепенно изменялась, и к 2005 году произошла почти полная стандартизация DOM компанией W3C, начавшаяся ещё в 1998 году. Современные браузеры поддерживают все основные функции DOM.
Перед тем, как разрабатывать веб-приложение, использующее редкие возможности DOM (например, обращение к объектам с помощью коллекций, в частности — нестандартной коллекции all), лучше будет добавить туда проверку во время загрузки приложения. Эта проверка с помощью специальных скриптов покажет, поддерживает ли браузер все те опции, которые вы собираетесь использовать.
Классификация типов, содержимого и функций DOCUMENT OBJECT MODEL
В рамках стандарта DOM выделяют три вида объектной модели документа:
- Основная DOM – обычная модель для всех видов документов
- XML-DOM – адаптированная для XML-документов модель объектного представления
- HTML-DOM – то же для HTML.
Объектная модель документа выполняет важную задачу по регуляции взаимодействия между HTML-объектами. Для этого она определяет некоторые термины HTML в рамках стандартов ООП:
- Сами HTML-элементы получают роль объектов
- Атрибуты HTML-элементов получают роль свойств объектов
- Регламентируются методы для доступа к объектам
- Регламентируются события, возникающие при взаимодействии пользователя или веб-программы с объектами.
Исходя из этого, можно составить примерный список того, что можно реализовать в рамках DOM, этот список довольно обширен.
С помощью объектной модели документа программист может наделить своё веб-приложение следующими функциями:
- JavaScript-приложение сможет добавить на страницу новые HTML-элементы и свойства к ним или к уже существующим объектам.
- Приложение сможет удалить или изменить уже существующие HTML-элементы или отдельные их свойства.
- JavaScript-приложение сможет создать новые события при объектах и отслеживать их.
- После чего оно сможет отреагировать запуском того или иного метода в ответ на произошедшее событие.
- Веб-приложение также может изменить стиль веб-страницы.
Базовая информация о свойствах, методах и объектах в рамках DOM
Эта концепция, которая является одной из базовых в объектно-ориентированном программировании, почти ничем не отличается от подобных аналогов в других отраслях IT. В данном конкретном случае под методами подразумеваются те действия, которые можно совершить над объектами (в том числе и с целью получить ту или иную информацию от них), а свойства – это значения атрибутов тех или иных HTML-элементов на странице.
Базовым объектом для DOM является Документ – это вся веб-страница со всем её содержимым. Этот объект содержит три самых важных метода для поиска элементов:
- getElementByID. Эта функция принимает на вход параметр ID, обозначающий идентификатор объекта, который требуется найти.
- getElementsByTagName. Эта функция находит массив объектов определённого типа. На вход она принимает строковое значение тэга, по которому будет производиться фильтрация объек
Объектная модель документа — Document Object Model
Соглашение для представления и взаимодействия с объектами в документах HTML, XHTML и XML
Пример иерархии DOM в документе HTML | |
Впервые опубликовано | 1 октября 1998 г . ; 22 года назад ( 1998-10-01 ) |
---|---|
Последняя версия | ДОМ4 19 ноября 2015 г . ; 4 года назад ( 2015-11-19 ) |
Организация | Консорциум World Wide Web , WHATWG |
Базовые стандарты | WHATWG DOM Living Standard W3C DOM4 |
Сокращение | ДОМ |
Объектная модель документа ( DOM ) является кросс-платформенным и независимый от языка интерфейса , который лечит XML — или HTML — документ в виде древовидной структуры , где в каждом узле является объектом , представляющий собой часть документа. DOM представляет собой документ с логическим деревом. Каждая ветвь дерева заканчивается узлом, и каждый узел содержит объекты. Методы DOM обеспечивают программный доступ к дереву; с их помощью можно изменить структуру, стиль или содержание документа. К узлам могут быть прикреплены обработчики событий. Как только событие запускается, обработчики событий запускаются.
Принципиальной стандартизацией модели DOM занимался Консорциум World Wide Web , который в последний раз разработал рекомендацию в 2004 году. WHATWG взяла на себя разработку стандарта, опубликовав его как « живой» документ . W3C теперь публикует стабильные снимки стандарта WHATWG.
История
История объектной модели документа переплетается с историей « войн браузеров » в конце 1990-х годов между Netscape Navigator и Microsoft Internet Explorer , а также с историей JavaScript и JScript , первых языков сценариев , широко применяемых в двигатели JavaScript из веб — браузеров .
JavaScript был выпущен Netscape Communications в 1995 году в составе Netscape Navigator 2.0. Конкурент Netscape, компания Microsoft , выпустила Internet Explorer 3.0 в следующем году с повторной реализацией JavaScript под названием JScript. JavaScript и JScript позволяют веб-разработчикам создавать веб-страницы с интерактивностью на стороне клиента . Ограниченные возможности для обнаружения событий, создаваемых пользователем, и изменения HTML-документа в первом поколении этих языков в конечном итоге стали известны как «DOM Level 0» или «Legacy DOM». Для DOM Level 0 не было разработано независимого стандарта, но он был частично описан в спецификациях для HTML 4 .
У устаревшей модели DOM были ограничены типы элементов, к которым можно было получить доступ. На элементы формы , ссылки и изображения можно ссылаться с помощью иерархического имени, которое начинается с корневого объекта документа. Иерархическое имя может использовать либо имена, либо последовательный индекс пройденных элементов. Например, к элементу ввода формы можно получить доступ как document.formName.inputName
или document.forms[0].elements[0]
.
Устаревшая модель DOM поддерживает проверку формы на стороне клиента и популярный эффект « ролловера ».
В 1997 году Netscape и Microsoft выпустили версию 4.0 Netscape Navigator и Internet Explorer соответственно, добавив поддержку функциональности Dynamic HTML (DHTML), позволяющей вносить изменения в загруженный HTML-документ. DHTML требовал расширения для рудиментарного объекта документа, который был доступен в реализациях Legacy DOM. Хотя реализации Legacy DOM были в значительной степени совместимы, поскольку JScript был основан на JavaScript, расширения DHTML DOM разрабатывались параллельно каждым производителем браузера и оставались несовместимыми. Эти версии модели DOM стали известны как «промежуточная модель DOM».
После стандартизации ECMAScript , то W3C Рабочая группа DOM приступила к разработке стандартной спецификации DOM. Завершенная спецификация, известная как «DOM Level 1», стала Рекомендацией W3C в конце 1998 года. К 2005 году большие части W3C DOM хорошо поддерживались обычными браузерами с поддержкой ECMAScript, включая Microsoft Internet Explorer версии 6 (с 2001 года), Браузеры на основе Opera , Safari и Gecko (например, Mozilla , Firefox , SeaMonkey и Camino ).
Стандарты
W3C DOM Рабочая группа опубликовала свою окончательную рекомендацию и впоследствии распались в 2004 году усилиями развития мигрировали в WHATWG , которая продолжает поддерживать жизненный уровень. В 2009 году группа веб-приложений реорганизовала деятельность DOM в W3C. В 2013 году из-за отсутствия прогресса и предстоящего выпуска HTML5 спецификация DOM Level 4 была передана рабочей группе HTML, чтобы ускорить ее завершение. Между тем, в 2015 году группа веб-приложений была расформирована, а управление DOM перешло к группе веб-платформы. Начиная с публикации DOM Level 4 в 2015 году, W3C создает новые рекомендации, основанные на снимках стандарта WHATWG.
- DOM Level 1 предоставляет полную модель для всего документа HTML или XML , включая средства для изменения любой части документа.
- DOM Level 2 был опубликован в конце 2000 года. Он представил
getElementById
функцию, а также модель событий и поддержку пространств имен XML и CSS. - В модели DOM Level 3, опубликованной в апреле 2004 года, добавлена поддержка XPath и обработки событий клавиатуры , а также интерфейс для сериализации документов в формате XML.
- DOM Level 4 был опубликован в 2015 году. Это снимок уровня жизни WHATWG.
Приложения
Веб-браузеры
Для визуализации документа, такого как HTML-страница, большинство веб-браузеров используют внутреннюю модель, аналогичную DOM . Узлы каждого документа организованы в древовидную структуру , называемую деревом DOM , с самым верхним узлом, названным «Объект документа». Когда HTML-страница отображается в браузерах, браузер загружает HTML-код в локальную память и автоматически анализирует его, чтобы отобразить страницу на экране.
JavaScript
Когда веб-страница загружается, браузер создает объектную модель документа страницы, которая представляет собой объектно-ориентированное представление HTML-документа, которое действует как интерфейс между JavaScript и самим документом. Это позволяет создавать динамические веб-страницы, потому что внутри страницы JavaScript может:
- добавлять, изменять и удалять любые элементы и атрибуты HTML
- изменить любой из стилей CSS
- реагировать на все существующие события
- создавать новые события
Реализации
Поскольку DOM поддерживает навигацию в любом направлении (например, родительский и предыдущий родственник) и допускает произвольные модификации, реализация должна, по крайней мере, буферизовать документ, который был прочитан до сих пор (или некоторую его проанализированную форму).
Компоновка двигателей
Веб-браузеры полагаются на механизмы компоновки для синтаксического анализа HTML в DOM. Некоторые механизмы компоновки, такие как Trident / MSHTML , связаны в первую очередь или исключительно с конкретным браузером, например Internet Explorer. Другие, включая Blink , WebKit и Gecko , используются в ряде браузеров, таких как Google Chrome , Opera , Safari и Firefox . Различные механизмы компоновки реализуют стандарты DOM с разной степенью соответствия.
Библиотеки
Реализации DOM:
- libxml2
- MSXML
- Xerces — это набор реализаций DOM, написанных на C ++, Java и Perl.
- XML для <SCRIPT> — это реализация DOM на основе JavaScript.
- PHP.Gt DOM — это реализация DOM на стороне сервера, основанная на libxml2 и обеспечивающая совместимость DOM уровня 4 с языком программирования PHP.
- Domino — это реализация DOM на стороне сервера (Node.js), основанная на dom.js. Domino используется в стеке MediaWiki с визуальным редактором.
API, которые предоставляют реализации DOM:
- JAXP (Java API для обработки XML) — это API для доступа к поставщикам DOM.
- Lazarus ( Free Pascal IDE) содержит два варианта DOM — с форматом UTF-8 и ANSI.
Инструменты для осмотра:
- DOM Inspector — инструмент веб-разработчика
Ссылки
Общие ссылки
внешняя ссылка
НОУ ИНТУИТ | Лекция | Объектная модель документа
Аннотация: В данном разделе описывается, зачем нужна Объектная модель документа и способы ее использования. Рассматривается простейший пример обработки XML документа с использованием DOM модели.
В течение некоторого времени термин «объектная модель документа» применялся к Web-браузерам. Такие объекты, как окно, документ и история, считались частью объектной модели браузера, но в различных браузерах эти объекты реализованы по-разному. Для создания более стандартизированного способа обращения и манипулирования структурами документов в сети консорциум W3C предложил спецификацию W3C DOM представляющую собой не зависящее от языка или платформы определение. W3C DOM модель устанавливает стандартную функциональность для навигации по документу и манипулирования содержанием и структурой документов, написанных на языках XML и HTML.
При использовании DOM для работы с текстовым файлом в формате XML она анализирует файл, разбивает его на индивидуальные элементы, атрибуты, комментарии и т.д. Затем в памяти создается представление файла XML в виде дерева узлов в котором каждый объект в документе рассматривает в виде узла: элементы, атрибуты, комментарии, команды обработки и даже составляющий атрибуты обыкновенный текст. Для следующего фрагмента XML документа:
<tree-node> <node-level1> <node-level2/> <node-level2>text</node-level2> <node-level2/> </node-level1> <node-level1> <node-level2>text</node-level2> </node-level1> <node-level1> <node-level2/> <node-level2> <node-level3/> </node-level2> </node-level1> </tree-node>
дерево элементов выглядит так:
После этого разработчик может обращаться к содержанию документа, используя дерево узлов, и при необходимости вносить в него изменения, например чтобы добавить новый элемент( для этого достаточно просто создать новый узел и прикрепить его в качестве потомка к нужному узлу).
В W3C DOM для различных составляющих DOM объектов определены интерфейсы облегчающие манипулирование с деревом узлов, но для этих интерфейсов не предлагается никакой специфической реализации, и ее можно осуществить на любом языке программирования. Определяемая консорциумом W3C модель DOM не зависит от платформы, т.е. W3C определяет, какие методы и свойства должны быть сделаны доступными в реализациях, специфических для конкретных систем, но не подробности осуществления этих реализации. Реализуя приложение использующие модель DOM, а не спецификации W3C, разработчики должны ссылаться на документацию, специфическую для данной реализации, которую можно найти в библиотеках. Например, компания Microsoft предоставляет такую документацию для своей версии XML DOM по адресу http://msdn.microsoft.com/xml/reference/xmldom/start.asp.
Зачем нужна модель DOM
В качестве метода доступа к файлам XML всегда следует выбирать модель DOM. По сравнению с такими доступными механизмами генерации документов XML, как запись непосредственно в поток, этот метод имеет ряд преимуществ:
- Модель DOM гарантирует правильную грамматику и правильное оформление документов.
DOM трансформирует текстовый файл в абстрактное представление дерева узлов. Это позволяет полностью избежать таких проблем, как незакрытые или неправильно вложенные теги. Работая с документом XML при помощи этого метода, разработчик должен беспокоиться не о текстовом выражении документа, а только о связях типа родитель-потомок и об относящейся к этому информации. Кроме того, DOM предотвращает создание неправильных связей родитель-потомок в документе.
- Модель DOM абстрагирует содержание от грамматики.
Созданное моделью DOM дерево узлов — это логическое представление содержания файла XML, показывающее, какая информация в нем представлена и как ее фрагменты соотносятся друг с другом, вне непосредственной связи с грамматикой XML. Информация дерева узлов используется для обновления реляционной базы данных или для создания страницы HTML, и разработчики при этом не должны вникать в специфику языка XML.
- Модель DOM упрощает внутреннее манипулирование документом.
Задача разработчика, использующего модель DOM для модификации внутренней структуры файла XML, упрощается по сравнению с работой тех, кто для этой цели применяет традиционные механизмы манипулирования файлами. Как уже было, описано DOM позволяет легко добавить элемент в середину документа. Кроме того, такие глобальные операции, как удаление из документа всех элементов с конкретным именем тега, могут быть выполнены с помощью пары команд, а не «метода грубой силы», предполагающего полное сканирование всего файла и удаление ненужных тегов.
- Модель DOM напоминает структуры иерархических и реляционных баз данных.
Способ, используемый DOM для представления связей между элементами данных, напоминает метод представления этой информации в современных иерархических и реляционных базах данных. С помощью этой модели упрощается процесс обмена данными между файлом XML и базой данных. Использование модели DOM для построения иерархической структуры документа позволяет легко передавать информацию между системами.
Модель DOM в окружающем мире
Компания Netscape в версии 4.7 своего браузера еще не предлагает встроенной поддержки DOM, но при наличии библиотек ActiveX или Java DOM можно обращаться к документам XML и работать с ними у клиента с помощью языков Java и JavaScript. Следующие версии браузера Netscape включает встроенную поддержку XML и XSL.
В браузерах Internet Explorer 5 и выше находятся встроенные библиотеки DOM и поддержка XSL. Для сценариев на стороне клиента доступно множество объектов для работы с XML-документом, самые важные из них, объекты XMLDOMDocument, XMLDOMNode, XMLDOMNodeList, XMLDOMParseError представляющие интерфейс для доступа ко всему документу, отдельным его узлам и поддеревьям, предоставляющие необходимую для отладки информацию о произошедших ошибках анализатора соответственно.
Объект XMLDOMNode
Объект XMLDOMNode, реализует базовый DOM интерфейс Node, предназначен для манипулирования с отдельным узлом дерева документа. Его свойства и методы позволяют получать и изменять полную информацию о текущем узле — его тип (является ли текущий узел элементом, комментарием, текстом и т.д.), название, полное название (вместе с Namespace префиксом), его содержимое, список дочерних элементов и т.д.
Объект XMLDOMDocument
Объект XMLDOMDocument представляет верхний уровень объектной иерархии и содержит методы для работы с документом: его загрузки, анализа, создания в нем элементов, атрибутов, комментариев и т.д. Многие свойства и методы этого объекта реализованы также в классе Node, т.к. документ может быть рассмотрен как корневой узел с вложенными в него поддеревьями.
Объект XMLDOMNodeList
Представляет собой список узлов — поддеревья и содержит методы, при помощи которых можно организовать процедуру обхода дерева.
Объект XMLDOMParserError
Объект позволяет получить всю необходимую информацию об ошибке, произошедшей в ходе разбора документа. Все свойства этого объекта доступны только для чтения.
Клиент и сервер
Все приложения DOM и XML можно разделить на две группы: устанавливаемые на сервере (или в таком контролируемом окружении, как системы типа клиент/сервер) и устанавливаемые у клиента.
Использование модели DOM на сервере
Поскольку разработчики Интернет -приложений имеют значительно больший контроль над программным обеспечением, устанавливаемым на их серверах, первые приложения DOM, как правило, были нацелены именно на эту область. Модель DOM позволяет существенно упростить обмен данными между различными деловыми системами, а также предоставляют идеальный механизм для архивирования и извлечения данных.
Использование модели DOM у клиента
В настоящее время становится все более важно, чтобы документ можно было читать различными клиентами. Эти клиенты могут визуализировать документ по-разному, в зависимости от типа клиента и назначения файла. Пользовательский браузер с помощью модели DOM изучит дерево узлов документа и отобразит необходимую клиенту информацию.
По мере интеграции модели DOM в основные браузеры станет возможно с помощью манипуляций документами XML у клиента добиваться более эффективного взаимодействия с пользователями. Структурированную информацию можно собирать у клиента и отправлять на сервер за одну транзакцию, а не с помощью нескольких обращений к формам, находящимся на различных страницах HTML.
Так же возможно широкое использования модели DOM для генерации и манипулирования документами XML в среде предприятия.
DOM (объектная модель документа) | Портал информатики для гиков
В этой статье мы обсудим объектную модель документа (DOM), а также ее свойства и методы, используемые для управления документом.
Введение :
Объектная модель документа (DOM) — это интерфейс программирования для документов HTML и XML (расширяемый язык разметки). Он определяет логическую структуру документов и способ доступа к документу и манипулирования им.
Примечание . Он называется логической структурой, потому что DOM не определяет отношения между объектами.
DOM — это способ представления веб-страницы в структурированной иерархической форме, чтобы программистам и пользователям было легче просматривать документ. С DOM мы можем легко получить доступ и управлять тегами, идентификаторами, классами, Атрибутами или Элементами, используя команды или методы, предоставляемые объектом Document.
Структура DOM :
DOM можно рассматривать как дерево или лес (более одного дерева). Термин модель структуры иногда используется для описания древовидного представления документа. Одним из важных свойств структурных моделей DOM является структурный изоморфизм : если любые две реализации DOM используются для создания представления одного и того же документа, они будут создавать одну и ту же структурную модель с точно такими же объектами и отношениями.
Почему называется объектной моделью?
Документы моделируются с использованием объектов, и модель включает в себя не только структуру документа, но также поведение документа и объектов, из которых он состоит, как элементы тега с атрибутами в HTML.
Свойства DOM :
Давайте посмотрим свойства объекта документа, которые могут быть доступны и изменены объектом документа.
- Window Object: Window Object всегда находится на вершине иерархии.
- Объект документа: когда документ HTML загружается в окно, он становится объектом документа.
- Объект формы: он представлен тегами формы .
- Объекты ссылок: он представлен тегами ссылок .
- Якорные объекты: это представлено тегами href .
- Элементы управления формой: Форма может иметь множество элементов управления, таких как текстовые поля, кнопки, переключатели и флажки и т. Д.
Методы объекта документа :
- write («строка»): записывает данную строку в документ.
- getElementById (): возвращает элемент, имеющий заданное значение id.
- getElementsByName (): возвращает все элементы, имеющие заданное значение имени.
- getElementsByTagName (): возвращает все элементы, имеющие заданное имя тега.
- getElementsByClassName (): возвращает все элементы, имеющие заданное имя класса.
Пример :
|
Чем DOM не является ?
- Объектная модель документа не является двоичным описанием, где она не определяет никакого двоичного исходного кода в своих интерфейсах.
- Объектная модель документа не используется для описания объектов в XML или HTML, тогда как DOM описывает документы XML и HTML как объекты.
- Объектная модель документа не представлена набором структур данных ; это интерфейс, который определяет представление объекта.
- Объектная модель документа не показывает критичность объектов в документах, т. Е. Не имеет информации о том, какой объект в документе соответствует контексту, а какой нет.
Уровни DOM :
- Уровень 0: обеспечивает низкоуровневый набор интерфейсов.
- Уровень 1: Уровень DOM 1 можно описать в двух частях: CORE и HTML .
- CORE предоставляет низкоуровневые интерфейсы, которые можно использовать для представления любого структурированного документа.
- HTML предоставляет высокоуровневые интерфейсы, которые можно использовать для представления документа HTML.
- Уровень 2: состоит из шести спецификаций: Core2, МНЕНИЙ, СОБЫТИЯ, СТИЛЬ, траверсов и RANGE.
- CORE2 : расширяет функциональность CORE, указанную уровнем DOM 1.
- ПРОСМОТРЫ : представления позволяют программам динамически обращаться к содержимому документа и манипулировать им.
- СОБЫТИЯ : События — это сценарии, которые либо выполняются браузером, когда пользователь реагирует на веб-страницу.
- STYLE : позволяет программам динамически получать доступ и управлять содержимым таблиц стилей.
- TRAVERSAL : позволяет программам динамически перемещаться по документу.
- RANGE : позволяет программам динамически идентифицировать диапазон содержимого в документе.
- Уровень 3: состоит из пяти различных спецификаций: Core3, загрузки и сохранения, валидации, события и XPATH.
- CORE3 : расширяет функциональность CORE, заданную уровнем 2 DOM.
- LOAD и SAVE : позволяет программе динамически загружать содержимое документа XML в документ DOM и сохранять документ DOM в документ XML путем сериализации.
- VALIDATION : позволяет программе динамически обновлять содержимое и структуру документа, в то же время гарантируя, что документ остается действительным.
- СОБЫТИЯ : расширяет функциональность событий, указанных в DOM Level 2.
- XPATH : XPATH — это язык путей, который можно использовать для доступа к дереву DOM.
Ссылки:
- https://codescracker.com/js/js-dom-levels.htm
- https://www.w3.org/TR/DOM-Level-3-Core/introduction.html
Рекомендуемые посты:
DOM (объектная модель документа)
0.00 (0%) 0 votes
DOM — Навигация по узлам
HTML DOM используя отношения между узлами позволяет перемещаться по дереву узлов.
Узлы DOM
Согласно стандарту HTML DOM, все в HTML документе является узлом:
- Весь документ — узел документа
- Каждый HTML элемент — узел элемента
- Текст внутри HTML элементов — узел текста
- Каждый HTML атрибут — узел атрибута (запрещен)
- Все комментарии — узлы комментариев
С HTML DOM можно получить доступ ко всем узлам при помощи JavaScript. Можно создавать новые узлы, а существующие можно изменять или удалять.
Отношения между узлами
Узлы в дереве DOM имеют иерархические отношения между друг другом.
Чтобы описать эти отношения обычно используют такие понятия как родитель (предок), ребенок (потомок) и родственник (родственный элемент).
- В дереве узлов самый верхний узел называется корневым узлом
- У каждого узла, за исключением корневого, всегда есть один и только один предок или родитель
- У любого узла может быть сколько угодно потомков
- Родственные или одноуровневые узлы — это узлы, у которых один и тот же предок (родитель)
<html>
<head>
<title>Учебник по DOM</title>
</head>
<body>
<h2>Урок первый</h2>
<p>Привет всем!</p>
</body>
</html>
Из HTML кода, представленного выше, мы можем понять следующее:
- <html> — корневой узел
- <html> не имеет родителя
- <html> — родитель узлов <head> и <body>
- <head> — первый потомок узла <html>
- <body> — последний потомок узла <html>
также мы видим:
- <head> имеет одного потомка — <title>
- <title> имеет одного потомка (текстовый узел) — «Учебник по DOM»
- <body> имеет двух потомков — <h2> и <p>
- <h2> имеет одного потомка — «Урок первый»
- <p> имеет одного потомка — «Привет всем!»
- <h2> и <p> — родственные (одного уровня) узлы
Перемещение между узлами
Чтобы перемещаться между узлами, используются следующие JavaScript свойства узлов:
- parentNode
- childNodes[номер_узла]
- firstChild
- lastChild
- nextSibling
- previousSibling
Узлы-потомки и значения узлов
Обычная ошибка при работе с DOM — это ожидание, что узел элемент
Объектная модель документа
— Wikipedia
DOM-Knotenbaum einer fiktiven Webseite
Das Document Object Model ( DOM , engl. Für Dokumenten-Objekt-Modell ) ist eine Spezifikation einer Programmierschnittstelle, Welche HTML-oder XML-Dokumente als eine Baumchesstruktur Objektur. einen Teil des Dokumentes repräsentiert, z. B. einen Absatz, eine Überschrift, ein Video oder etwa eine Tabellenzelle. Die Schnittstelle ist plattform- und programmiersprachenunabhängig und erlaubt damit standardisiert, die Struktur und das Layout eines Dokumentes zu verändern.Im Webbrowser bildet dies einen wichtigen Baustein für Dynamische Webseiten.
DAS DOM wird определяется консорциумом World Wide Web. Eine Implementierung, die der DOM-Spezifikation genügt, besteht im Sinne der objektorientierten Programmierung aus einem Satz von Klassen zusammen mit deren Methoden und Attributen.
Bei der Bezeichnung «Document Object Model » имеет собственное представление о DOM, а также Schnittstelle (интерфейс) для определения Datenzugriff, который определен так, чтобы быть в W3C.Die Bezeichnung als Modell betont hingegen das der Schnittstelle zugrundeliegende wohldefinierte Objektmodell, dessen Gültigkeit Voraussetzung für die Gültigkeit der darauf aufgebauten ischnittstelle. Auf einer höheren Abstraktionsebene ist auch eine Schnittstelle ein Modell, nämlich für die Art und Weise, auf Objekte oder Daten zuzugreifen.
DOM ist ursprünglich unter dem Einfluss von mindestens zwei Entwicklungen entstanden, die die Computerwelt in der jüngsten Vergangenheit maßgeblich prägten.Beiden liegt die Notwendigkeit zugrunde, auf die structurierten Daten in HTML- und XML-Dokumenten einfach und einheitlich zugreifen zu können.
Mitte der 1990er Jahre, также как World Wide Web и Popularität zunahm, wurde die Skriptsprache JavaScript erfunden und gängige Webbrowser Enthielten Seitdem Interpreter, die Solche Scripte ausführen. Определенный элементарный JavaScript Möglichkeiten zum Zugriff auf das HTML-Dokument und zur Ereignisbehandlung. Später erfanden verschiedene Browserhersteller unterschiedliche Modelle für dynamic HTML (DHTML), die eine umfassendere Änderung der Struktur und des Aussehens des Dokuments ermöglichten, während das Browser Dokument im.Diese Unterschiede machten allerdings die Arbeit für Webentwickler, welche Dynamisches HTML nutzen wollten, zu einer äußerst mühsamen Angelegenheit, da sie oft praktisch gezwungen waren, für jeden zu unterstützen Version zu eine eine Browser Version. [1] Die ersten DOM-Standards des W3C sind daher Versuche, die verschiedenen proprietären JavaScript- и DHTML-Techniken, die während der Zeit der Browserkriege entstanden, zusammenzuführen, zu standardisieren und letzösen abzulich.Dies ist gelungen, sodass DOM heutzutage eine zentrale Bedeutung bei der JavaScript-Programmierung einnimmt.
Gleichzeitig Entstand XML als allgemeines Austauschformat zur menschenlesbaren Darstellung von structurierten Daten, das an den Erfolg von HTML anknüpfte. Zur Verarbeitung von XML-Dokumenten war eine verständliche, leistungsfähige und programmiersprachenübergreifende Schnittstelle nötig. DOM обеспечивает удобство и удобство работы с XML-документами.
Папка с HTML-кодом, определяющая таблицу с элементами table
und Verschiedenen Unterelementen:
<таблица>Vorname Имя Дональд Утка
Так выглядит в браузере от:
Das DOM repräsentiert das table
-Element und dessen Unterelemente in der folgenden Baumstruktur:
An diesem Beispiel lässt sich der prinzipielle Aufbau des Objektmodells diskutieren: Dokumente werden logisch wie ein Stammbaum dargestellt.Knoten ( узлов ) stehen über «Verwandtschaftsbeziehungen» zueinander в Вербиндунге.
Arten von Beziehungen [Bearbeiten | Quelltext Bearbeiten]
Die vorliegende Struktur wird im Objektmodell durch die folgenden Beziehungen charakterisiert:
- Der Wurzelknoten ( root )
table
hat als Kinder ( children ) die Elementknotenthead
undtbody
. - Der
table
-Elementknoten ist umgekehrt ein Elternteil ( parent ) отthead
иtbody
. - Knoten mit gemeinsamem Elternteil (zum Beispiel die beiden
th
-Elementknoten) werden Geschwister ( братьев и сестер ) genannt.
Ausgehend von einem Bellebigen Knoten ist jeder andere Knoten über diese Verwandtschaftsbeziehungen erreichbar.
Артен фон Кнотен [Bearbeiten | Quelltext Bearbeiten]
Die wichtigsten Knotentypen в DOM sind:
- Ein Dokumentknoten stellt die gesamte Baumstruktur dar.
- Ein Dokumentfragmentknoten stellt einen Teil der Baumstruktur dar.
- Ein Elementknoten entspricht exakt einem Элемент в HTML или XML.
- Ein Attributknoten entspricht exakt einem Атрибут в HTML или XML.
- Ein Textknoten stellt den Textinhalt eines Elements dar.
Attributknoten sind eine besondere Knotenart, denn sie kommen nicht als Knoten in der Baumstruktur vor, die vor allm durch Elementknoten gebildet wird. Attributknoten sind demnach keine «Kinder» von Elementknoten, sondern Eigenschaften von ihnen.
Verarbeitung eines Dokuments [Bearbeiten | Quelltext Bearbeiten]
Im ersten Schritt wird ein bestehendes Dokument durch das Programm eingelesen und ein Dokument-Objekt erzeugt. Anhand dieses Objekts kann mittels der Methoden des API auf die Inhalte, Struktur und Darstellung zugegriffen werden.
Insbesondere erlaubt, ДОМ
- die Navigation zwischen den einzelnen Knoten eines Dokuments,
- das Erzeugen, Verschieben und Löschen von Knoten sowie
- das Auslesen, Ändern und Löschen von Textinhalten.
Am Ende der Verarbeitung kann aus dem Dokument-Objekt durch so genannte Serialisierung ein neues XML-or HTML-Dokument generiert werden.
DOM установлен в 1998 году как Standard des W3C und wurde seitdem mehrfach aktualisiert und erweitert. Es existieren mehrere Versionen (Levels) jeweils mit verschiedenen Modulen:
DOM, уровень 0 [Bearbeiten | Quelltext Bearbeiten]
Dieses Level не имеет формальной специализации. Level 0 bezeichnet die mittels JavaScript nutzbaren Techniken zum Zugriff auf HTML-Dokumente.Обзор веб-браузера через Internet Explorer и Netscape Navigator для стандартизации DOM eingeführt.
DOM, уровень 1 [Bearbeiten | Quelltext Bearbeiten]
Veröffentlicht Ende 1998.
- DOM Core (DOM-Kern), определяемый как Bewegen im DOM-Baum, die Manipulation der Knoten, включая Einfügens neuer Elemente und des Setzens von Attributen.
- DOM HTML ist die Erweiterung zum Zugriff auf HTML-Dokumente.Es standardisiert und vervollständigt die bereits verbreitete Praxis, die auf den JavaScript-Spezifikationen von Netscape bzw. Microsoft JScript basiert.
DOM, уровень 2 [Bearbeiten | Quelltext Bearbeiten]
Veröffentlicht Ende 2000.
- DOM Core : u. а. Erweiterung um XML-Namensraum-Unterstützung
- DOM HTML : u. а. Просмотр на XHTML-Dokumente, с использованием DOM 2 Core
- DOM Style и DOM CSS ermöglichen das Dynamische Auslesen, Hinzufügen und Ändern der Formatierung bzw.des Layouts des Dokuments über Stylesheets, Insbesondere Cascading Style Sheets (CSS).
- DOM Views erlaubt den Zugriff auf Informationen konkreter Wiedergabearten des Dokuments (zum Beispiel der grafischen Darstellung im Webbrowser). Das wird vor all zusammen mit DOM CSS benutzt, um die tatsächlichen CSS-Eigenschaftswerte von gewissen Elementen in Erfahrung zuedingen (z. B. «Welche Hintergrundfarbe hat diese Überschrift?»).
- DOM Events standardisiert die Verarbeitung von Ereignissen im Dokument, zum Beispiel Benutzeraktionen.Wird vor all im Zusammenhang mit JavaScript bei der Darstellung von HTML-Dokumenten in Webbrowsern verwendet. Создайте модель Ereignis-Behandlung для Netscape Navigators и Internet Explorers для HTML-Dokumente.
- DOM Traversal и DOM Range : Durchlaufen des Knotenbaums anhand von bestimmten Auswahlkriterien, Arbeiten mit Bereichen im Dokument, die bestimmte Elemente und Textknoten umfassen
DOM Level 3 | Quelltext Bearbeiten]
Veröffentlicht, апрель 2004 г.
- DOM 3 Core : umfassende Erweiterung, u. а. verbesserte Ausnahmebehandlung und Umgang mit Zeichenkodierungen
- DOM 3 Загрузить и сохранить ermöglicht die Serialisierung von Dokumenten или Dokumentteilen sowie das Parsen von XML-Dokumenten в Zeichenketten в Dokument-Objekte. Zudem können XML-Dokumente über HTTP versendet und abgerufen werden, wie es mit der bekannteren XMLHttpRequest-Technik möglich ist.
- DOM 3 XPath erlaubt das Auswählen von Knoten anhand von XPath-Ausdrücken.
- События DOM 3 erweitert События DOM 2 u. а. гм Tastatur-Ereignisse.
- DOM 3 Validation erlaubt das Prüfen, ob nach einer Dynamischen Änderung (Hinzufügen oder Entfernen von Knoten) das DOM-Dokument valide bleibt.
- DOM 3 Views and Formatting erlaubt es, Dynamisch auf den Inhalt, Struktur und Style zuzugreifen und diese zu ändern.
- Абстрактные схемы DOM 3
- ↑ JavaScript CRE146 (Подкаст; ab 01:00:45)
Стандарты консорциумов World Wide Web
.
DOM (объектная модель документа) недир?
Bugün ki konumuzu incelemeden önce, Object-Orientated programlama hakkında az da olsa bahsetmemiz de fayda olduğunu düşünüyorum. Объектно-ориентированная программаlamadaki amaç, bilginin nesnel terimler halinde saklanmasıdır. Örnein, ее nesnenin nasıl davranacaını belirleyebileceğimiz özellikler sayesinde nesnelere bir çok özellik kazandırabiliriz.
ДОМ недир?
Объектная модель документа ’в kısaltılmışı olan DOM, asla bir dil olmayıp, dilleri barındıran bir standart olarak tanımlanmaktadır.
Programlama dillerinin Object-Orientated olarak HTML ile anlaşması için HTML’i nesneler bütününe çevirecek bir ara standart gereklidir. ДОМ да там бу noktada işe el atmaktadır. DOM, HTML — это программа с расширенным набором данных standart с расширением HTML в формате HTML, на котором написано, что вы хотите, чтобы изменить его. DOM , Nesneler ve özelliklerden oluşur.
DOM ’da HTML ile hazırladığınız Sayfa, belge ; bu belgenin içine yerleştirdiğiniz her türlü öğe ise nesne olarak adlandırılır.
DOM da nesnelerin birer öğe ( element ) olarak kullanılabilmesi için hiyerarşik bir düzen izlenerek çağrılmaları gerekir. HTML’deki her bir elamanın birbiri ile hiyearşik bir yapı oluşturması ile oluşur.
Neler yapar?
ДОМ bir ağaç dizini gibi bütün dokümanları birbirine bağlar. Birden fazla programlama dilleri destekler ( JS, PHP, Java, ASP vb. ) ve aynı zamanda dosya oluşturmak, elementleri ve içeriklerini silme / ekleme gibi fonsiyonları vardır.
Önemli nokta yazdığımız dilin DOM yapılarına bağlı olmasıdır.
Вебмастер. Кухня
HTML içerisine yerleştirilmiş öğeleri çağırmak için, içinde bulunduğu diğer öğelerin çağrılması bir yöntem iken, bir öğeye bir id 9000çö
JavaScript kodumuzun ilk satırında metin kutusunun değeri hiyerarşik olarak çağrılmış ve değiştirilmiştir. İkinci satırda ise hiyerarşik yapı daha az önemsenerek JavaScript içindeki DOM ’un temellerinden olan getElementById metodu kullanılmıştır.
JQuery ’nin iyi anlaşılması için DOM mantığını iyi bir şekilde çözmekte fayda vardır.
Sonuç olarak eğer client-side olarak HTML’e daha fazla hükmetmek istiyorsanız, kullandıınız dil JavaScript, PHP, ASP vb.ne olursa olsun kesinlikle DOM un erişim yöntemlerini çok iyi biliyor olmanız gerekir.
İstifade ettiğimiz kaynaklar
https://en.wikipedia.org/wiki/Document_Object_Model
https://www.w3.org/DOM/#DOMTS
.
Объектная модель документа — Vikipedi
Başlığın diğer anlamları için Модель sayfasına bakınız.
Модель объекта документа , «DOM», «Belge Nesnesi Modeli» anlamlarına da gelmektedir. Интернет tarayıcıları girilen internet sitesini bir belge, bu belge (sayfa) içerisinde bulunan tüm elemanları da nesne olarak kabul eder. Buna göre resim, yazı, форма gibi tüm elemanlar nesnedir. İşte DOM sayfa içindeki herhangi bir nesnenin özelliğine müdahale edebilmemize, nesne özelliklerini değiştirebilmemize olanak sağlar.Bunu yapabilmek için de JavaScript gibi bazı script dilleri kullanmamız gerekir.
Sayfada bulunan bir resim nesnesi üzerinde fare üzerine getirilince kırmızı bir kenarlık, fare üzerinden çekilince mavi bir kenarlık olması istendiğinde, bunun tarayıcık olması istendiğinde, bunun tarayıcı.
1. yöntem [deiştir | kaynağı değiştir]
Doğrudan resim nesnesinin etiketi üzerinde script çalıştırılabilir.
2. yöntem [deiştir | kaynağı değiştir]
İlk olarak web sayfasımızın
etiketi arasına (tavsiye edilir, zorunlu değildir) ya da herhangi bir yerine aşağıdaki betiğin yazılması gerekir.
Daha sonra resim üzerinde yukarıdaki scriptin çalıştırılabilmesi için onMouseOver
ve onMouseOut
uygulamalarının kullanılması yeterli olacaktır. Сценарий resim
isimli nesneyi bularak yapılması gereken müdahaleyi yapacaktır.
name = " resim ">
Birden fazla nesnede uygulanışı ise aşağıdaki gibi olabilir [değiştir | kaynağı değiştir]
Öncelikle aşağıdaki betik sayfada
etiketi veya herhangi bir yere yazılır.
Daha sonra yine onMouseOver
ve onMouseOut
uygulamaları kullanılır.
Fonksiyonların mudahale edeceği nesneyi tanıması için de this
koduyla fonksiyona ( function
) tanımlama gönderilir. это
tanımlaması alan fonksiyon Obj
isimli tanımsız olan nesneyi это
aracılığı ile tanımlayacak ve gereken müdahaleyi yapacaktır. [1]
.