Как проверить наличие класса в jquery
Функция .hasClass(), простой пример, выводит сообщение о наличии класса test1 у элемента при клике:
$('div').click(function()< if($(this).hasClass('test1'))< alert('У этого блока есть класс test1'); >else < alert('У этого блока нет класса test1'); >>);
.test1 < width:100px; height:100px; padding:10px; margin:10px; background: red; >.test2
Отслеживать
ответ дан 25 дек 2017 в 9:01
ExposedCat ExposedCat
358 1 1 золотой знак 4 4 серебряных знака 15 15 бронзовых знаков
- javascript
- jquery
- условия
- проверка
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как правильно проверить наличие css класса у дочерних элементов с помощью jquery?
Но почему-то этот способ не срабатывает. В чем может быть проблема?
- Вопрос задан более двух лет назад
- 331 просмотр
Комментировать
Решения вопроса 1

Danny Arty @DanArst Куратор тега JavaScript
Гриффиндор в моде при любой погоде!
Ответ написан более двух лет назад
pofeg @pofeg Автор вопроса
проблема в том что таких элементов одинаковых на странице несколько и мне нужно использовать this

Danny Arty @DanArst Куратор тега JavaScript
проблема в том что таких элементов одинаковых на странице несколько
это не проблема. то, что я предложил будет работать с каждым таким элементов, а не только с первым
мне нужно использовать this
это обязательное условие задачи?
pofeg @pofeg Автор вопроса
Danny Arty, Не работает ваш метод. Он просто никак не реагирует.

Danny Arty @DanArst Куратор тега JavaScript
pofeg, отлично работает. В примере ниже сделал background: red; для li с классом active для наглядности. Вы jquery подключили?
jQuery. Как проверить существует ли элемент на странице?

На практике приходится очень часто проверять существует ли элемент на веб-странице или нет.
Например, задача может быть следующей:
если на странице есть блок div с атрибутом id, то нужно выполнить какие-то действия с элементами, которые в нем находятся.
Такую проверку очень важно производить. Если в скрипте будет запрашиваться элемент, которого нет на странице, то будет ошибка. Скорее всего, вы знаете, насколько могут быть опасны ошибки в Javascript, весь код который расположен ниже, может просто не обрабатываться.
Поэтому производить проверку существования элемента — это очень важный момент.
Хочу рассказать о способе, как это можно сделать с помощью библиотеки Jquery.
$(«#mydiv»).length – это выражение будет возвращать true, когда скрипту удалось найти элемент и false в противном случае. Именно этот принцип работы и позволяет выполнить необходимую проверку.

Если у вас появляется окно такого вида, значит, все работает нормально.
Все мои уроки по Javascript здесь.
Проверить наличие класса и вывести значение у ряда элементов
Есть список элементов с id, всего 6 штук: el_1, el_2, el_3, el_4 el_5, el_6
При клике по элементу меняем класс с дефолтного на .ex_class, далее нужно проверить у всех элементов наличие класса .ex_class и затем в div c id «result» вывести порядковые значения через запятую элементов, которые имеют этот класс.
Сам класс определяю через .hasClass и в принципе понятно как провести пошаговую проверку каждого элемента, хотелось бы понять как можно сделать это массово через:
1 2 3 4 5 6 7
$('#el_1, #el_2, #el_3, #el_4 #el_5, #el_6').click (function() { $(this).toggleClass("ex_class"); if $(this).hasClass("ex_class") { } });
Сейчас при клике класс меняется и возвращается на дефолтный при втором клике на этот же элемент, нужно чтобы также и менялись значения в div result