# Знакомство с DOM

[![Generic badge](https://img.shields.io/badge/JavaScript-%D0%B4%D0%BB%D1%8F%20%D1%82%D1%83%D0%BF%D1%8B%D1%85-green.svg)](https://img.shields.io/badge/JavaScript-%D0%B4%D0%BB%D1%8F%20%D1%82%D1%83%D0%BF%D1%8B%D1%85-green.svg)

![](https://3367117456-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M8VRUyYIp5X-d6oGwV2%2F-M8VxlVCeaFDw0A5KjSP%2F-M8Vy-_ilveBtqNggg6x%2Fimg-20.png?alt=media\&token=71e5ddfa-a59c-4cbd-896f-a309458436b4)

#### **Что такое DOM?** <a href="#toc_1" id="toc_1"></a>

Все теги в **HTML**-документе рассматриваются браузером как `объекты`. Внутри тега могут содержаться другие теги. Такие теги будут являться `дочерними`. Проще говоря, весь **HTML**-документ представляет собой `дерево тегов` с разными разветвлениями. В целом, это и есть `DOM (Document Object Model)`.

Итак, самая простая страница:

```markup
<html>
<head>
    <title>Page title</title>
</head>
<body>
    <p>Текст</p>
    <button>Click Me</button>
</body>
</html>
```

Данный пример — самая простая **HTML**-страница. Напомню, что эту разметку нужно сохранять в формате `.html`, чтобы ее мог открыть браузер.

Если внимательно посмотреть на приведенные в примере теги, то можно заметить, что внутри одних тегов мы чётко видим другие.

Внутри тега `<html>` лежат все остальные теги: `<head>`, `<body>`. Внутри же этих тегов, например, `<head>` лежит тег `<title>`.

Все, что существует внутри **HTML**-документа, является частью `DOM-дерева`.

Если честно, то различных аспектов с **DOM** достаточно много, но не хочется на них заострять большое внимание, потому как это будет больше теории, нежели практики. А я пытаюсь научить тебя больше практической части.

Если совсем подытожить, то `DOM` позволяет нам крутить и вертеть всеми элементами нашего **HTML**-документа. **Мы можем изменить положение элемента, цвет, да почти всё что угодно.**
