JS властивість Element.className


Загальний опис

Властивість className у JavaScript представляє собою рядок, який містить імена класів елемента DOM. Ця властивість дозволяє отримувати доступ до класів елемента або змінювати їх, встановлюючи нові значення для класу. Використання className може бути корисним для зміни стилів елементів або керування їх поведінкою на сторінці. На практиці, className широко використовується для динамічної зміни стилів елементів, забезпечення інтерактивності веб-сторінок та керування їх зовнішнім виглядом.

Почнемо з основних операцій з властивістю className. Для отримання рядка з іменами класів елемента достатньо просто звернутися до властивості className:

var element = document.getElementById('myElement');
var classNames = element.className;

Тепер classNames містить рядок з іменами класів, що присутні на елементі з ідентифікатором 'myElement'.

Щоб змінити класи елемента, просто присвоюємо нове значення властивості className:

element.className = 'newClass';

У цьому прикладі, рядок 'newClass' стане новим значенням властивості className.

Додавання чи видалення окремих класів виконується шляхом зміни значення className за допомогою строкових операцій JavaScript або застосування методів add() та remove() з використанням classList:

// Додавання класу
element.className += ' additionalClass';

// Видалення класу
element.className = element.className.replace('oldClass', '');

Також можна використовувати регулярні вирази для більш гнучкого керування класами:

// Видалення всіх класів, крім одного
element.className = element.className.replace(/(?:^|\s)active(?!\S)/g, '');

Це лише декілька прикладів того, як можна використовувати властивість className для керування класами елементів у DOM. Вона надає можливість динамічно змінювати зовнішній вигляд та поведінку елементів на сторінці, що дозволяє створювати більш динамічні та інтерактивні веб-додатки.

автор: Bond

Порада

Використовуйте className для створення анімацій або переходів за допомогою CSS. Контролюйте зміну класів за допомогою JavaScript для створення плавних та ефектних змін у вигляді веб-елементів.

автор: Bond
Порада

Пам'ятайте, що присвоєння значення className видаляє всі інші класи. Використовуйте classList для додавання або видалення окремих класів без зміни інших.

автор: Bond
Порада

Уникайте прямого змінювання className у скриптах, якщо існують інші способи, такі як використання classList, які забезпечують більшу гнучкість та безпеку.

автор: Bond

Синтаксис

Element.className

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
22 1 1 8 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 25 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі ми використали властивість className для додавання класу "highlight" та видалення класу "inactive" з елемента. Зверніть увагу, що для видалення класу ми використали метод replace, який замінює підстрічку "inactive" на порожній рядок.

HTML

<div id="exampleElement">Демонстраційний елемент</div>

JS

// Отримуємо посилання на елемент з ідентифікатором "exampleElement".
const element = document.getElementById("exampleElement");

// Додаємо клас "highlight" до класів елемента.
element.className += " highlight";

// Видаляємо клас "inactive" з класів елемента.
element.className = element.className.replace("inactive", "");
автор: Bond

У цьому прикладі ми використали властивість className для перевірки наявності класу "active" на елементі. Якщо клас вже присутній, ми його видаляємо; якщо немає - додаємо. Це дозволяє змінювати стиль елементів залежно від стану програми або дій користувача.

HTML

<div id="exampleElement">Демонстраційний елемент</div>

JS

// Отримуємо посилання на елемент з ідентифікатором "exampleElement".
const element = document.getElementById("exampleElement");

// Перевіряємо чи містить список класів елемента клас "active".
if (element.className.includes("active")) {
    // Якщо так, видаляємо його.
    element.className = element.className.replace("active", "");
} else {
    // Якщо ні, додаємо його.
    element.className += " active";
}
автор: Bond

Цей приклад демонструє використання властивості className для встановлення списку класів елемента. На сторінці є div з класом box red, який спочатку відображається червоним кольором. Користувач може ввести список класів, розділених пробілами, у текстове поле. При натисканні на кнопку "Встановити класи" скрипт встановлює введені класи для div за допомогою властивості className.

Наприклад, якщо користувач введе blue green, то div отримає класи blue та green, і його колір зміниться на зелений (оскільки клас green має вищий пріоритет у CSS). Якщо користувач видалить всі класи з текстового поля та натисне кнопку, то div втратить усі класи та відобразиться без кольору.

Користувач може взаємодіяти зі сторінкою, вводячи різні комбінації класів та спостерігаючи, як змінюється вигляд div. Це доз

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід