• Теория
  • Теория

Метод classList.contains, проверяем наличие класса

Отлично! Мы создали счётчик лайков, значение которого увеличивается при каждом клике. Но ведь число лайков не должно только расти.

Если пользователь ещё не ставил лайк, то клик на «сердечко» лайк добавит, и значение счётчика должно увеличиться. А если лайк уже есть, то клик по кнопке его отменит, и значение счётчика должно уменьшиться. Как нам различать эти клики? Мы можем проверить, есть ли у элемента heart класс added. Если класса у элемента ещё нет, то лайк добавляется, а если класс уже есть, то лайк снимается.

Чтобы проверить, есть ли у элемента класс, используем метод classList.contains:

элемент.classList.contains('класс');

В скобках указывается класс, наличие которого нужно проверить. Когда метод сообщает какую-то информацию, говорят, что он возвращает значение. Метод classList.contains вернёт true (истина), если класс у элемента есть, и false (ложь), если класса нет.

Значения true и false называют булевыми. Таких значений всего два.

Нам нужно проверять, есть ли у элемента heart класс added. Посмотрим, как работает метод classList.contains: скажем JavaScript выводить в консоль значения, которые этот метод возвращает, и кликнем несколько раз на «сердечко», чтобы переключить класс.

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Условия и создание элементов» тренажёра «Знакомство с JavaScript» можно после регистрации и оформления подписки.