클릭 한 버튼에 대한 클래스를 추가하고 형제 자매에서 클래스를 제거합니다.

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");
});