Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение класса у элемента (https://javascript.ru/forum/jquery/71985-izmenenie-klassa-u-ehlementa.html)

Argonaft 26.12.2017 16:38

Изменение класса у элемента
 
Есть страница с кнопкой активации и деактивации чего либо.
Задача сделать, что при клике на кнопку менялся ее стильно на противоположный. Ну допустим если активная кнопка, кликаем получаем в ответ что кнопка становиться деактивная. И наоборот. Первая часть вопроса решена :), при клике скажем по кнопке она меняет цвет все ок. Но при повторном клике на той же кнопке с измененным цветом class удаляет вообще все оставляя только:
btn btn-sm
Как же так это два разных условия. Что делать как победить?

$(document).ready(function(){

    //deactive
    $('.btn.btn-warning.btn-sm').click(function(event) {
      var id = event.target.dataset.bid;
      $('#b-'+id).removeClass("btn btn-warning btn-sm");
      $('#b-'+id).toggleClass("btn btn-success btn-sm");
    });

    //active
    $('.btn.btn-success.btn-sm').click(function(event) {
      var id = event.target.dataset.bid;
      $('#b-'+id).removeClass("btn btn-success btn-sm");
      $('#b-'+id).toggleClass("btn btn-warning btn-sm");
    });

  });

пример кнопки
<button type="button" id="b-3" data-bid="3" class="btn btn-warning btn-sm">Выключить</button>

laimas 26.12.2017 16:47

.toggleClass("только изменяемый") зачем все классы перечислять, и зачем removeClass?


Часовой пояс GMT +3, время: 00:05.