DOM (Document Object Model)

DOM (Document Object Model) — это программный интерфейс для HTML и XML документов, который представляет структуру документа в виде дерева объектов.

Структура DOM

  • Узлы (Nodes) — элементы, атрибуты, текст
  • Элементы (Elements) — HTML теги
  • Атрибуты (Attributes) — свойства элементов
  • Текстовые узлы — содержимое элементов

Основные методы работы с DOM

 1// Поиск элементов
 2document.getElementById('id');
 3document.querySelector('.class');
 4document.getElementsByTagName('div');
 5
 6// Создание элементов
 7const newElement = document.createElement('div');
 8newElement.textContent = 'Hello World';
 9
10// Добавление в DOM
11document.body.appendChild(newElement);
12
13// Удаление из DOM
14element.remove();

События DOM

  • click — клик по элементу
  • load — загрузка документа
  • submit — отправка формы
  • change — изменение значения
  • keydown/keyup — нажатие клавиш

Манипуляции с DOM

  • Изменение содержимого — innerHTML, textContent
  • Изменение стилей — style, classList
  • Изменение атрибутов — setAttribute, getAttribute
  • Навигация по дереву — parentNode, children

Пример работы с событиями

 1// Добавление обработчика событий
 2const button = document.getElementById('myButton');
 3button.addEventListener('click', function() {
 4    alert('Кнопка нажата!');
 5});
 6
 7// Изменение стилей
 8const element = document.querySelector('.my-class');
 9element.style.backgroundColor = 'red';
10element.classList.add('active');

FAQ

В чем разница между innerHTML и textContent?

innerHTML работает с HTML разметкой, textContent — только с текстом, игнорируя HTML теги.

Что быстрее: getElementById или querySelector?

getElementById быстрее, так как использует индексированный поиск по ID, а querySelector парсит CSS селектор.