Подскажите, почему не работает такая конструкция на JQuery?
<li class="nav__first-level-wrapper">
<a href="#" class="nav__first-level">Первый уровень</a>
<!-- Второй уровень -->
<ul class="nav__secont-level hide">
<li> <a href="#">Второй уровень</a> </li>
<li> <a href="#">Второй уровень</a> </li>
<li> <a href="#">Второй уровень</a> </li>
</ul>
</li>
$(".nav__first-level").click(function() {
$( this ).find(".nav__secont-level").toggleClass("hide");
});
Пытаюсь сделать при клике на первый уровень меню (убирать класс скрывающий блок) показывать второй уровень.
Пробовал сделать через children, тщетно.
$(".nav__first-level").click(function() {
$( this ).children(".nav__secont-level").toggleClass("hide");
});
Так как элемент .nav__secont-level
не является дочерним для $(this)
, то метод .children()
не сможет его найти. Необходимо использовать .next()
или .siblings()
, которые возвращают следующий и соседние элементы соответственно.
Пример
find(), children()
эти ф-ции ищут дочерние элементы, а вы же хотите скрывать/показывать следующий на том же уровне, а не дочерний
$(".nav__first-level").click(function() {
$(this).next().toggleClass("hide");
});
.nav__secont-level.hide {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<li class="nav__first-level-wrapper">
<a href="#" class="nav__first-level">Первый уровень</a>
<!-- Второй уровень -->
<ul class="nav__secont-level hide">
<li> <a href="#">Второй уровень</a> </li>
<li> <a href="#">Второй уровень</a> </li>
<li> <a href="#">Второй уровень</a> </li>
</ul>
</li>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Этот код обрабатывает клик по элементам на сайте (меню первого уровня), в результате которого появляется новый блок (меню второго уровня,...
Всем привет, у меня стоит задача сделать расширения для Amazon, Задание
Есть всплывающее окно у него на широком мониторе нет скролла, а на узком есть скролл