Используйте этот тег для вопросов взаимодействия других языков с XML/HTML с помощью объектной модели документа. Не используйте его как стенографию для HTML, JavaScript или SAX - используйте дополнительные теги для обозначения языка и разметки.

Что такое объектная модель документа?

Текущий стандарт DOM находится по адресу https://dom.spec.whatwg.org/. Это полная спецификация для DOM и заменяет все предыдущие спецификации DOM.

Устаревшая спецификация DOM2 http://www.w3.org/TR/DOM-Level-2-Core/introduction.html описывает DOM в следующих терминах:

Объектная модель документа (DOM) - это интерфейс прикладного программирования (API) для корректных HTML и правильно оформленных XML-документов. Он определяет логическую структуру документов и способ доступа к документу и манипулирования им. [...] Тем не менее, XML представляет эти данные в виде документов, и DOM может использоваться для управления этими данными.

Другими словами, DOM не является строкой, но HTML/XML может представлять DOM в виде строки.

В далеком прошлом DOM был ограничен в видах элементов, к которым можно было получить доступ. На элементы формы, ссылки и изображения можно ссылаться с помощью иерархического имени, которое начинается с корневого объекта документа. Иерархическое имя может использовать либо имена, либо последовательный индекс пройденных элементов. Например, элемент ввода формы может быть доступен как document.formName.inputName или document.forms [0].elements [0].

JavaScript против DOM

JavaScript - это язык, с которым браузер читает и работает. Но DOM - то, где это случается.

Когда DOM отличается от HTML?

Здесь одна возможность: в вашем HTML есть ошибки, и браузер исправил их для вас. Допустим, у вас есть элемент <table> в вашем HTML и пропустите обязательный элемент <tbody>. Браузер просто вставит этот <tbody> для вас. Он будет в DOM, так что вы сможете найти его с помощью JavaScript и стилизовать его с помощью CSS, даже если его нет в вашем HTML.


ДОМ Уровень жизни

Устаревшие спецификации DOM


Полезные ссылки