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 Microsoft Internet Explorer
22 1 1 8 12 5
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 25 4 1

Приклади

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

У цьому прикладі ми використали властивість 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

Коментарі

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле саме підкаже шляхи, а хибний підкреслить хвилею.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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