JS метод DOMTokenList.add()
Загальний опис
Метод add() об'єкта DOMTokenList використовується для додавання одного або кількох токенів (значень) до списку класів елемента DOM. Він є корисним для маніпуляції класами елементів, що дозволяє динамічно змінювати стилі та поведінку елементів на веб-сторінці.
Синтаксис методу add() виглядає наступним чином:
elementNode.classList.add('клас1', 'клас2', ...);
Він приймає один або кілька аргументів у вигляді рядків, які представляють імена класів, що потрібно додати до елемента. Метод add() є частиною об'єкта classList, який є властивістю елементів DOM і надає зручний інтерфейс для роботи зі списком класів елемента.
Розглянемо приклад використання методу add():
<div id="myDiv" class="initial"></div>
const myDiv = document.getElementById('myDiv');
myDiv.classList.add('new-class', 'another-class');
У цьому прикладі ми спочатку отримуємо посилання на елемент div за його id. Потім ми викликаємо метод add() на об'єкті classList цього елемента, передаючи два нових класи 'new-class' та 'another-class'. Після виконання цього коду, елемент div матиме три класи: 'initial', 'new-class' та 'another-class'.
Метод add() є особливо корисним у динамічних веб-додатках, де стилі та поведінка елементів можуть змінюватися залежно від певних умов або дій користувача. Наприклад, ви можете додавати клас 'active' до елемента меню, коли користувач наводить на нього курсор, або додавати клас 'open' до випадаючого меню, коли користувач натискає на кнопку.
Крім того, метод add() може бути використаний у поєднанні з іншими методами об'єкта classList, такими як remove() та toggle(), для більш гнучкого керування класами елементів.
Ось більш складний приклад, який демонструє використання методу add() у контексті обробника події:
<button id="toggleBtn">Toggle Class</button>
<div id="myDiv" class="initial"></div>
const myDiv = document.getElementById('myDiv');
const toggleBtn = document.getElementById('toggleBtn');
toggleBtn.addEventListener('click', () => {
myDiv.classList.toggle('active');
if (myDiv.classList.contains('active')) {
myDiv.classList.add('highlighted', 'bordered');
} else {
myDiv.classList.remove('highlighted', 'bordered');
}
});
У цьому прикладі ми маємо кнопку та елемент div. При натисканні на кнопку ми викликаємо метод toggle() для класу 'active' на елементі div. Якщо клас 'active' присутній, ми додаємо два додаткові класи 'highlighted' та 'bordered' за допомогою методу add(). Якщо клас 'active' відсутній, ми видаляємо ці два класи за допомогою методу remove().
| Порада: | Перевіряйте наявність класу перед додаванням, щоб уникнути дублювання. Метод |
| Порада: | Використовуйте метод |
| Порада: | Для досвідчених програмістів: розглядайте можливість використання метода |
Синтаксис
add(token1)
add(token1, token2)
add(token1, token2, /* …, */ tokenN)
Параметри
- *
tokenN Рядок, який представляє токен (або токени), що потрібно додати до
DOMTokenList.
Return
none
Переглядачі
| Переглядач | |||||
|---|---|---|---|---|---|
8 |
3.6 |
5.1 |
12.1 |
12 |
| Переглядач | ||||
|---|---|---|---|---|
3 |
18 |
4 |
5 |
| Переглядач | ||
|---|---|---|
- |
- |
Приклади
У цьому прикладі ми маємо елемент div з класом initial і дві кнопки: "Додати клас" та "Видалити клас". При натисканні на кнопку "Додати клас" ми використовуємо метод add() для додавання класів highlighted та bordered до елемента div. Це призводить до зміни фону елемента на жовтий колір та додавання червоної рамки навколо нього.
При натисканні на кнопку "Видалити клас" ми видаляємо ці два класи за допомогою методу remove() об'єкта classList, повертаючи елемент div до початкового стану.
Користувач може взаємодіяти з прикладом, натискаючи на кнопки та спостерігаючи зміни в стилях елемента div. Це демонструє, як метод add() може використовуватися для динамічного додавання класів до елементів, що впливає на їх зовнішній вигляд та поведінку.
У цьому прикладі ми додаємо клас active до елемента div при натисканні на кнопку. Це може бути корисним для візуального виділення активного елемента або зміни його поведінки за допомогою CSS.
<button id="toggleButton">Toggle Active</button>
<div id="myDiv">Це елемент div</div>
<script>
const toggleButton = document.getElementById('toggleButton');
const myDiv = document.getElementById('myDiv');
toggleButton.addEventListener('click', () => {
myDiv.classList.add('active');
});
</script>
У цьому прикладі ми динамічно додаємо класи even або odd до елементів списку li на основі їх індексу. Це може бути корисним для стилізації рядків таблиці або списку з чергуванням кольорів для кращої читабельності.
<ul id="myList">
<li>Елемент 1</li>
<li>Елемент 2</li>
<li>Елемент 3</li>
<li>Елемент 4</li>
</ul>
<script>
const myList = document.getElementById('myList');
const listItems = myList.getElementsByTagName('li');
// Ітеруємося через кожен елемент списку
Array.from(listItems).forEach((item, index) => {
// Додаємо клас 'even' або 'odd' на основі індексу
item.classList.add(index % 2 === 0 ? 'even' : 'odd');
});
</script>
