Поменять дочерний элемент по клику на родительский
Здравствуйте. На этом сайте в левой части страницы есть навигационное меню по категориям (скрин).
При клике на "+" показываются подкатегории и значок плюса меняется на минус, а при повторном клике минус снова меняется на плюс (скрин). Однако плюсы и минусы меняются у всех элементов списка. Подскажите пожалуйста, как на 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, время: 06:19. |