Помимо других ответов, я хотел бы добавить:
Цитата w3.org / DOM / :
Объектная модель документа не зависит от платформы и языка
интерфейс, который позволит программам и сценариям динамически получать доступ
и обновить содержание, структуру и стиль документов. «Динамический
HTML "- это термин, используемый некоторыми поставщиками для описания комбинации
HTML, таблицы стилей и скрипты, позволяющие анимировать документы.
W3C получил несколько предложений от компаний-членов о
способ, которым объектная модель документов HTML должна быть представлена
скрипты. Эти материалы не предлагают какие-либо новые теги HTML или стиль
листовая технология. W3C DOM Activity работает над тем, чтобы
совместимые и нейтральные решения на языке сценариев согласованы
на.
По сути, я смотрю на это так:
В браузерах вы можете использовать скрипты, которые обычно являются диалектом EcmaScript (и IE поддерживает VBScript для). Эти сценарии выполняются на хосте сценариев (будь то механизм экмаскрипта браузера или автономный механизм, такой как node.js, wscript / csript, jsdb , javascript-exe и т. Д.) .
Поскольку ecmascript основан на объектах , базовый язык наследует / обращается к объектам, свойствам и методам от его (родительского) хоста (точно так же, как вы можете добавить свой собственный md5- подпрограмма как дополнительная функция / объект / метод для взаимодействия).
Таким образом, DOM, по сути, является стандартом, в котором объекты / свойства / методы, которые необходимы для взаимодействия с элементами в документе, а также из браузера (для отслеживания в браузере и т. Д.), Регулируются и в каком иерархическом порядке.
Таким образом, каждый может использовать метод, равномерно называемый getElementById
, который доступен в document
(который предоставляется window
, так же как wscript
предоставляет echo
вместо alert
, как в браузере window
обычно позволяет открыть новое диалоговое окно с кнопкой OK и сообщением, которое вы предоставляете) и т. Д.
Вы даже можете сравнить его с API. Только этот API предназначен для всех совместимых браузеров всех производителей.
Примечание: я спас этот / мой ответ из этот (теперь удаленный) дубликат , где это был принятый ответ.