Поменять дочерний элемент по клику на родительский
Здравствуйте. На этом сайте в левой части страницы есть навигационное меню по категориям (скрин).
При клике на "+" показываются подкатегории и значок плюса меняется на минус, а при повторном клике минус снова меняется на плюс (скрин). Однако плюсы и минусы меняются у всех элементов списка. Подскажите пожалуйста, как на jQuery менять плюс на минус и обратно только у выбранного элемента? Вот текущий код: $(document).ready(function() { $('.category-item').on('click', '.show-submenu', function() { if($('.fa-plus').css('display') === 'inline-block') { $('.fa-plus').css('display', 'none'); $('.fa-minus').css('display', 'inline-block'); } else { $('.fa-minus').css('display', 'none'); $('.fa-plus').css('display', 'inline-block'); } $(this).siblings('.subcategories').slideToggle(0); }); }); |
Win_D,
$(document).ready(function() { $('.category-item').on('click', '.show-submenu', function() { if($('.fa-plus', this).css('display') === 'inline-block') { $('.fa-plus', this).css('display', 'none'); $('.fa-minus', this).css('display', 'inline-block'); } else { $('.fa-minus', this).css('display', 'none'); $('.fa-plus', this).css('display', 'inline-block'); } $(this).siblings('.subcategories').slideToggle(0); }); }); |
<div><span>+</span></div> <div><span>+</span></div> <div><span>+</span></div> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script> $('div').click(function(){ this.firstChild.textContent = this.textContent=='+'?'-':'+'; }); </script> |
Win_D,
j0hnik, проще менять класс родителя |
Цитата:
|
Часовой пояс GMT +3, время: 09:46. |