$(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>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Добрый день! Есть наполовину рабочий код, не могу понять, где ошибка. .
При клике на кнопку открывается меню. При клике вне меню оно закрывается.
На главной странице (stom-mva ru) одни пункты меню(ссылки) ведут на другие страницы, другие пункты - меняют на div'ы (основной "контент") с помощью этого...
Пытаюсь создать новую категорию. Отправляю ее на сервер для сохранения в базе, и если success,то хочу добавить ее ко всем остальным в panel-group.