$(document).ready(function(){
$('.dropb').hide();
$('.menu-item').bind('click', function(){
$(this).find('.dropb').css("display","block");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
<a class="menu-item" href="#">Утепление и отделка балкона</a>
<ul class="dropb">
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
</ul>
</li>
Я бы хотел, чтобы при нажатии был слайд тоггл, но думаю, что селектор не правильно поставлен.
Подскажите пожалуйста в чем проблема, почему $(this) не работает?
P.S.: jquery подключил
$(document).ready(function() {
$('.menu-item').click(function() {
$('.dropb').fadeOut(0); // прячем открытые блоки
$(this).children('.dropb').toggle(100);
});
});
.dropb {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
<div class="menu-item">
<a href="#">Утепление и отделка балкона</a>
<ul class="dropb">
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
</ul>
</div>
</li>
<li>
<div class="menu-item">
<a href="#">Утепление и отделка балкона</a>
<ul class="dropb">
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
</ul>
</div>
</li>
Вообще говоря, $(this) у вас работает. Не работает у вас .find('.dropb') - потому что элементы .dropb не являются дочерними для .menu-item.
Надо искать от родителя:
$(this).parent().find('.dropb')...
$(document).ready(function() {
$('.dropb').hide();
$('.menu-item').on('click', function() {
$(this).next().toggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li><a class="menu-item" href="#">Утепление и отделка балкона </a>
<ul class="dropb">
<li><a href="">fdsfdfsf</a>
</li>
<li><a href="">fdsfdfsf</a>
</li>
<li><a href="">fdsfdfsf</a>
</li>
</ul>
</li>
посмотрите мой пример
$(".menu-item").click(function(){
$(this).siblings().toggle(100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
<a class="menu-item" href="#">Утепление и отделка балкона</a>
<ul class="dropb">
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
</ul>
</li>
только не стоит на ссылки вешать дополнительные подписки на click событие.
$(this) в данном случае - это элемент ссылки, внутри него нет .dprop.
Пример:
$(document).ready(function(){
$('.dropb').hide();
$('.menu-item').on('click', function(){
$('.dropb').toggle();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li>
<a class="menu-item" href="#">Утепление и отделка балкона</a>
<ul class="dropb">
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
<li><a href="">fdsfdfsf</a></li>
</ul>
</li>
Продвижение своими сайтами как стратегия роста и независимости