Объектная модель документа является внутренним представлением HTML браузера.Он основан на идее «детей».Таким образом, тег <p>
может содержать несколько текстовых узлов и несколько тегов <span>
, например:
<p><span>Hello,</span> this is some text. <span>It</span> is just a short paragraph</p>
Этот тег <p>
имеет 4 дочерних элемента: два <span>
s и два текстовых узла (this is some text
и is just a short paragraph
).Остальные фрагменты текста являются потомками соответствующих им тегов <span>
.
Браузер сохраняет эту информацию (вместо того, чтобы просто хранить огромный поток HTML, который очень трудно обрабатывать) во внутренней памяти.Это значительно упрощает форматирование с использованием каскадных таблиц стилей (CSS) и внесение в него изменений с помощью JavaScript (создание и удаление деталей, перемещение деталей от одного родителя к другому и т. Д.).
Все версии HTML(за исключением, возможно, очень ранних) используйте DOM.Каждая версия имеет правила, например, какие теги являются допустимыми, а какие могут быть дочерними для каждого элемента.Эти правила реализуются при обработке HTML и создании его представления в DOM.