JS метод DOMTokenList.remove()


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

Метод remove() об'єкта DOMTokenList є важливим інструментом для роботи з класами елементів у JavaScript. Основна функція цього методу полягає у видаленні одного або кількох вказаних класів із списку класів елемента. Використання методу remove() є корисним при необхідності динамічно змінювати стилі елементів, видаляючи певні класи відповідно до умов, які виникають у процесі роботи веб-додатку. Найчастіше цей метод застосовується у випадках, коли потрібно змінити стан елемента, видаляючи відповідні класи, наприклад, при створенні інтерактивних інтерфейсів користувача.

Для використання методу remove() достатньо викликати його на об'єкті classList HTML-елемента і передати один або кілька класів, які потрібно видалити. Розглянемо простий приклад:

const element = document.getElementById('myElement');
element.classList.remove('class1');

У цьому прикладі ми видаляємо клас class1 зі списку класів елемента з ідентифікатором myElement. Якщо елемент не має цього класу, виклик методу remove() не матиме жодного ефекту і не викличе помилок.

Метод remove() дозволяє видаляти кілька класів одночасно, передаючи їх через кому як аргументи. Це спрощує процес очищення елементів від небажаних класів і робить код більш компактним та зрозумілим:

const element = document.getElementById('myElement');
element.classList.remove('class1', 'class2', 'class3');

У цьому прикладі зі списку класів елемента будуть видалені класи class1, class2 і class3.

Розглянемо більш складний випадок, коли класи видаляються залежно від умов. Наприклад, припустимо, що потрібно видалити певний клас, якщо він присутній, та додати інший клас замість нього:

const element = document.getElementById('myElement');
if (element.classList.contains('oldClass')) {
    element.classList.remove('oldClass');
    element.classList.add('newClass');
}

У цьому прикладі ми спочатку перевіряємо, чи містить елемент клас oldClass. Якщо так, то видаляємо цей клас і додаємо новий клас newClass.

Метод remove() також корисний при роботі з колекціями елементів. Наприклад, можна видалити певний клас з усіх елементів, що відповідають певному селектору:

const elements = document.querySelectorAll('.items');
elements.forEach(element => {
    element.classList.remove('active');
});

У цьому прикладі ми видаляємо клас active з усіх елементів, які мають клас items. Це особливо корисно при оновленні стану списку елементів або очищенні стилів.

Ще один приклад складнішого застосування методу remove() полягає у видаленні класів на основі подій. Наприклад, можна видалити клас з елементів при натисканні кнопки:

const button = document.getElementById('removeButton');
button.addEventListener('click', () => {
    const element = document.getElementById('myElement');
    element.classList.remove('highlight');
});

У цьому прикладі клас highlight буде видалений з елемента myElement при натисканні кнопки з ідентифікатором removeButton.

Метод remove() є важливим інструментом для маніпуляції класами елементів у JavaScript. Він дозволяє ефективно видаляти один або кілька класів, динамічно змінювати стилі та реагувати на події. Використовуючи метод remove(), програмісти можуть створювати інтерактивні та гнучкі інтерфейси користувача, легко змінюючи зовнішній вигляд елементів на сторінці. Завдяки своїй простоті у використанні та широкому спектру застосувань, цей метод є незамінним у сучасній веб-розробці.

автор: Bond

Порада

Під час видалення класів слід враховувати регістр. Імена класів є чутливими до регістру, тому element.classList.remove('ClassName') не видалить клас 'classname'. Для уникнення помилок рекомендується використовувати однаковий регістр у всьому коді.

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

Перед видаленням класу можна перевірити, чи він наявний в елементі, використовуючи метод contains(). Наприклад: if (element.classList.contains('class1')) { element.classList.remove('class1'); }. Це допоможе уникнути помилок при спробі видалити відсутній клас.

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

Якщо потрібно видалити всі класи елемента, можна використати метод toString() об'єкта DOMTokenList для отримання рядка з усіма іменами класів, а потім передати цей рядок методу remove(). Наприклад:

const element = document.getElementById('myElement');
const classes = element.classList.toString();
element.classList.remove(classes);
автор: Bond

Синтаксис

remove(token1)
remove(token1, token2)
remove(token1, token2, /* …, */ tokenN)

Параметри

token1

Рядок, що представляє токен, який потрібно видалити зі списку. Якщо рядок відсутній у списку, помилка не виникає, і нічого не відбувається.

Можна вказати кілька токенів через кому, і всі вони будуть видалені зі списку, якщо присутні.

автор: Bond

Повернення

none

Повертає undefined.

автор: Bond

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
8 3.6 5.1 ≤12.1 12 10
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
3 18 4 5

Приклади

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

У цьому прикладі ми використовуємо метод remove() для видалення класу з елемента DOM при натисканні кнопки. Це може бути корисно, коли потрібно динамічно змінювати стилі елемента на основі певних подій.

HTML

<div id="myElement">Демонстраційний елемент</div>
<button id="removeClassBtn">Прибрати</button>

JS

const element = document.getElementById('myElement');
const button = document.getElementById('removeClassBtn');

button.addEventListener('click', () => {
  element.classList.remove('highlight');
});
автор: Bond

У цьому складнішому прикладі ми використовуємо метод remove() для видалення кількох класів з елемента на основі введеного користувачем тексту. Це може бути корисно, коли потрібно надати користувачеві можливість керувати класами елемента через інтерфейс.

<input type="text" id="classInput" placeholder="Введіть класи для видалення">
<button id="removeClassesBtn">Видалити класи</button>
<div id="myElement" class="box highlight bordered"></div>

<script>
const element = document.getElementById('myElement');
const classInput = document.getElementById('classInput');
const removeClassesBtn = document.getElementById('removeClassesBtn');

removeClassesBtn.addEventListener('click', () => {
  const classesToRemove = classInput.value.split(' ');
  classesToRemove.forEach(className => {
    element.classList.remove(className);
  });
  classInput.value = '';
});
</script>
автор: Bond

У цьому прикладі ми маємо елемент div з класами box, highlight та bordered. При натисканні на кнопки "Видалити клас 'highlight'", "Видалити клас 'bordered'" або "Видалити всі класи" ми видаляємо відповідні класи з елемента за допомогою методу remove().

Для видалення всіх класів ми використовуємо оператор розгортання (...) для передачі всіх класів як окремих аргументів методу remove().

Таким чином, користувач може взаємодіяти з прикладом, натискаючи на кнопки та спостерігаючи, як змінюється стиль елемента 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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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