DOM
DOM (Document Object Model) — это программный интерфейс для работы с HTML и XML документами. Он представляет структуру документа в виде дерева объектов, где каждый узел соответствует элементу, атрибуту или тексту на странице. DOM позволяет программам (например, JavaScript) динамически изменять содержимое, структуру и стили веб-страницы.
Преимущества DOM:
- Универсальность: работает с любыми HTML/XML документами.
- Гибкость: позволяет динамически изменять страницу.
- Поддержка всеми современными браузерами.
Недостатки DOM:
- Медленная работа с большими документами (из-за сложности дерева).
- Высокое потребление памяти для сложных страниц.
Основные понятия DOM:
- Дерево узлов (Node Tree):
- DOM представляет документ в виде иерархического дерева узлов.
- Каждый HTML-элемент, атрибут, текст и даже комментарий — это узел (Node) в этом дереве.
- Типы узлов:
- Документ (Document): Корневой узел, представляющий весь документ.
- Элемент (Element): HTML-теги (например,
<div>,<p>,<a>). - Атрибут (Attribute): Атрибуты элементов (например,
class,id,href). - Текст (Text): Текстовое содержимое внутри элементов.
- Комментарий (Comment): Комментарии в HTML-коде.
- DOM-элементы:
- Каждый HTML-элемент представлен как объект со свойствами и методами.
- Например, у элемента
<div>есть свойстваclassName,id,innerHTMLи методыappendChild(),remove().
Как создается DOM:
- Браузер загружает HTML-документ.
- Парсер HTML разбирает код и создает дерево DOM.
- Каждый элемент, атрибут и текст становятся узлами в этом дереве.
- DOM становится доступным для JavaScript и других скриптов.
Зачем нужен DOM?
- Динамическое изменение страницы:
- JavaScript может использовать DOM для добавления, удаления или изменения элементов на странице.
- Пример: изменение текста, добавление новых элементов, изменение стилей.
- Взаимодействие с пользователем:
- DOM позволяет реагировать на действия пользователя (клики, ввод текста и т.д.).
- Пример: обработка событий (click, mouseover, keydown).
- Доступ к данным:
- DOM предоставляет методы для поиска и извлечения данных из документа.
- Пример: поиск элементов по классу, тегу или идентификатору.
Основные методы работы с DOM:
- Поиск элементов:
document.getElementById('id')— поиск по идентификатору.document.querySelector('.class')— поиск по CSS-селектору.document.getElementsByTagName('div')— поиск по тегу.
- Изменение содержимого:
element.innerHTML = 'Новый текст'— изменение HTML-содержимого.element.textContent = 'Текст'— изменение текстового содержимого.
- Изменение стилей:
element.style.color = 'red'— изменение стиля элемента.
- Добавление и удаление элементов:
document.createElement('div')— создание нового элемента.parentElement.appendChild(newElement)— добавление элемента в DOM.element.remove()— удаление элемента.
- Работа с атрибутами:
element.getAttribute('href')— получение значения атрибута.element.setAttribute('class', 'new-class')— установка атрибута.
🚀 Источник: DeepSeek