Вступ до DOM
Що таке DOM?
Document Object Model (DOM) - це програмний інтерфейс для HTML та XML документів. Він представляє структуру документа у вигляді дерева об'єктів, де кожен елемент є вузлом.
DOM дозволяє JavaScript змінювати структуру, стиль та вміст веб-сторінки.
Приклад DOM дерева
document (кореневий вузол)
html
head
body
div#container
h1.title
p
Вибір елементів
Методи вибору елементів
Існує кілька способів вибрати елементи DOM для подальшої роботи з ними.
// 1. getElementById - вибір за id
const elementById = document.getElementById('myId');
// 2. getElementsByClassName - вибір за класом
const elementsByClass = document.getElementsByClassName('myClass');
// 3. getElementsByTagName - вибір за тегом
const elementsByTag = document.getElementsByTagName('div');
// 4. querySelector - вибір першого відповідного елемента
const firstElement = document.querySelector('.myClass');
// 5. querySelectorAll - вибір всіх відповідних елементів
const allElements = document.querySelectorAll('div.myClass');
Тут з'являться результати виконання...
Маніпуляції з елементами
Зміна вмісту та атрибутів
DOM дозволяє змінювати текст, HTML, атрибути та стилі елементів.
Інтерактивна демонстрація
Цей елемент можна змінювати
// Зміна текстового вмісту
element.textContent = 'Новий текст';
element.innerText = 'Інший текст';
// Зміна HTML вмісту
element.innerHTML = '<strong>Жирний текст</strong>';
// Робота з атрибутами
element.setAttribute('data-custom', 'value');
const value = element.getAttribute('data-custom');
element.removeAttribute('data-custom');
// Робота з класами
element.classList.add('new-class');
element.classList.remove('old-class');
element.classList.toggle('active-class');
// Зміна стилів
element.style.color = 'red';
element.style.backgroundColor = '#f0f0f0';
element.style.fontSize = '20px';
Робота з подіями
Обробка подій
Події дозволяють реагувати на дії користувача (кліки, наведення, введення тексту тощо).
Демонстрація подій
Клікніть, наведіть курсор або натисніть клавішу
// Додавання обробника подій
element.addEventListener('click', function(event) {
console.log('Елемент клікнуто!');
});
// Видалення обробника подій
function handleClick() {
console.log('Обробник!');
}
element.addEventListener('click', handleClick);
element.removeEventListener('click', handleClick);
// Поширені типи подій
element.addEventListener('mouseover', handleMouseOver);
element.addEventListener('mouseout', handleMouseOut);
element.addEventListener('keydown', handleKeyDown);
element.addEventListener('submit', handleSubmit);
Практична область
Використовуйте цю область для тестування кодів з методички.
Тут з'являтимуться створені елементи...