Добавить класс для нажатой кнопки и удалить класс из братьев и сестер
Dec 07 2020
Я хочу добавить класс к нажатой кнопке и удалить этот класс из всех братьев и сестер (кнопка). Приведенный ниже код добавляет CSS для кнопок, которые я нажимаю и не может удалить CSS для уже примененных кнопок.
$("#followingButtonsId").children().addClass('buttonSelected')
.parent().siblings().find('.buttonSelected').removeClass('buttonSelected');
.buttonSelected { background: #5b2200;}
<div class="row" id="followingButtonsId">
<button class="buttonSelected">Button1</button>
<button>Button2</button>
<button>Button3</button>
</div>
Ответы
3 NicoShultz Dec 07 2020 at 21:34
При щелчке я удаляю класс buttonSelected
со всех кнопок, а затем добавляю его на ту, по которой щелкнули
$('button').click(function(e) { $('button').removeClass('buttonSelected');
$(e.target).addClass('buttonSelected');
});
.buttonSelected {
background: #5b2200;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row" id="followingButtonsId">
<button class="buttonSelected">Button1</button>
<button>Button2</button>
<button>Button3</button>
</div>
1 Shuvo Dec 07 2020 at 21:36
Это должно работать:
$("#followingButtonsId button").on("click", function() { $("#followingButtonsId button").removeClass("buttonSelected");
$(this).addClass("buttonSelected");
});