@Andrey_Smeet

Как показывать элемент только в данном блоке?

Есть такая конструкция:

<ul>
<li>Пункт <div class="hide">Это скрыто</div></li>
<li>Пункт <div class="hide">Это скрыто</div></li>
<li>Пункт <div class="hide">Это скрыто</div></li>
</ul>


$('ul li').click(function () {
		$('.hide').slideToggle(300);
		$(this).toggleClass("hide-open");
});


При нажатии на один пункт — открываются все. Как это исправить?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 1
shakiriker
@shakiriker
использовать $(this).children() открыть один элемент

$('ul li').click(function () {
    $(this).children().slideToggle(300);
    $(this).toggleClass("hide-open");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>Пункт <div class="hide">Это скрыто</div></li>
<li>Пункт <div class="hide">Это скрыто</div></li>
<li>Пункт <div class="hide">Это скрыто</div></li>
</ul>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы