Для доступа, создания, манипуляций с частями документа консорциумом W3C была создана Document Object Model (DOM) - система, позволяющая скриптам воздействовать на документ. С её помощью javascript может не только изменять структуру документа, но и получать доступ к стилям документа и изменть его вид.
Как только браузер загрузил документ (просто как последовательность символов), он начинает разбирать его и сохраняет интерпретацию html-кода в виде дерева DOM.
Согласно этой модели, каждый элемент HTML- документа становится объектом.
Javascript может получить доступ к этим элементам с пом. встроенных функций на лету. DOM связывает каждый созданный объект для элемента HTML с соответствующим родителем/потомком.
Для построения DOM документа каждомый элемент в html представляется в виде node с позицией, определяемой нодами родителей/потомков. Каждый element node х-зуется именем элемента (head,body,h1,...), но это имя не уникально. Уникальность обеспечивается, например, атрибутом id. На вершине дерева всегда находится document node.
Кликнииличтобы увеличить/уменьшить изображение...
В перевод node - узел, но как-то звучит не очень. Буду исп. оригинальную терминологию. Element nodes - один из видов nodes, соответствующий элементам HTML. Однако действительный контент документа находится в других нодах - text nodes и attribute nodes.
Всё, что расположено между угловыми скобками ><, относится к text node в DOM.
Основное отличие от elemеnet nodes:text nodesне имеют потомков!
Следует обратить внимание, что пробелы, новая строка, возврат каретки могут образовывать text nodes. Такие text nodes по-разному обрабатываются разными браузерами.
Attribute nodes являются частью html элементов (element nodes). Но они не являются потомкамиelement nodes.
Отправить комментарий