Задать вопрос
@neytan

.hasClass — что я делаю не так?

Добрый день, есть небольшой скрипт:
<script>
	if ( $('.submenu ul li').hasClass('active') ) {
		function(){
			$('.submenu').addClass('vision');
		}
	}
</script>

Суть такова: проверить на наличие класса "active" пункты меню (.submenu ul li) и если таковы имеются присвоить класс vision (или display:block) .submenu, но что то не выходит, может ошибка в скрипте?
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой 1 комментарий
Решения вопроса 4
Anadi
@Anadi
Если ответ Вам помог мой, решением отметье его!
if ( $('.submenu ul li').hasClass('active') ) {
      $('.submenu').addClass('vision');
}
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
$('.submenu ul li').each(function(){
  var $li = $(this);
  if ( $li.hasClass('active') ) {
    $li.closest('.submenu').addClass('vision');
    // or all levels
    // $li.parents('.submenu').addClass('vision');
  }
});
Ответ написан
Комментировать
ogarich89
@ogarich89
Front-End Developer
Примерно как то так

// jQuery
$(".submenu ul li").each(({ target }) => {
    if ($(target).hasClass("active")) {
        $(target).closest(".submenu").addClass("vision");
    }
});

// ES6 syntax
document.querySelectorAll(".submenu ul li").forEach(({ target }) => {
    if (target.className.includes("active")) {
        target.closest(".submenu").classList.add("vision");
    }
});
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
if ( $('.submenu ul li').hasClass('active') ) {
  //  function(){                          // зачем?
    $('.submenu').addClass('vision');
  //  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы