#1 Что такое DOM дерево?

poster
В этом видео мы с вами поговорим о DOM. DOM - это сокращенное название от Document Object Model.
Понравилось? Поделитесь с друзьями!
Понравилось?
Поделитесь с друзьями!
Комментарии
Текст видео

В этом видео мы с вами поговорим о DOM. DOM - это сокращенное название от Document Object Model.

Допустим у нас есть простая html страничка

<html>
  <head>
      <title>Test</title>
  </head>
  <body>
    <div>
      <p>Some text</p>
    </div>
  </body>
</html>

Как же работает javascript в браузере?

  1. Браузер загружает страницу
  2. Он берет наш html, парсит его и выводит на экран
  3. Потом он создает DOM дерево

То есть он просматривает весь наш html и создает дерево елементов, с правильной вложенностью базируясь на html, который он отрендерил до этого. То есть все начинается с елемента document, потом в него вкладывается елемент html, куда вкладывается head и body. Дальше он вкладывает каждый елемент друг в друга в правильной последовательности.

И именно DOM позволяет нам получать доступ к елементам страницы с помощью javascript. Каждый елемент страницы является обьектом. И как мы с вами разбирали в серии "Javascript для начинающих", обьект может иметь свойста и методы. То есть мы можем работать с каждым елементом на странице читая его свойста и вызывая его методы.

Также нужно четко разделять, что у нас есть два документа. Один - это html документ, а второй - это DOM документ. html документ - это язык разметки. И он не содержит в себе ничего. Именно поэтому нам нужен DOM документ, в котором каждому елемену в html документе соответсвует свой DOM елемент.

Это причина по которой нам вообще нужен DOM.

Как я уже сказал, все DOM дерево представляет собой набор елементов. И так, как это дерево, то у каждого елемента есть родительские и дочерние елементы. Например у елемента html, родительским елементом будет елемент "document", а дочерними "head" и "body".

Итак мы знаем, что DOM дерево состоит из елементов, но это не совсем так. Оно состоит из node (по русски узлов) и они бывают нескольких типов. Один из них мы с вами уже разобрали - это елемент. То есть div, p, body - это елементы.

Второй тип - это аттрибуты. Когда у нас написан код

<div id="container">
  Text
</div>

То id="container" - это аттрибут нода. И третий тип - это текстовая нода. Любой текст, который мы напишем попадает в текстовую ноду.

Именно так описывается дерево. В примере с div, div - это елемент нода, id и текст - это 2 ноды, которые вложены внутри елемент ноды.

Если у вас возникли какие-то вопросы или комментарии, пишите их прямо под этим видео.

Только зарегистрированные пользователи могут оставлять комментарии.  Войдите, пожалуйста.
OneJoke
5 лет назад
Странно , что вначале браузер выводит всё на экран , а уже потом делает дерево элементов. Логичней наоборот
Максим Титяев
9 лет назад
Спасибо за короткое и понятное объяснение.
monsterlessons
9 лет назад
На здоровье. Рад, что было полезно.