单击按钮时如何更改按钮中的类

时间:2018-09-23 19:36:57

标签: javascript jquery css button

我有两个按钮:没有背景和绿色,我需要在单击它们时将它们更改(从绿色到带有虚线边框的那个)enter image description here

这是我的html:

 <div class="btns">
                <button type="button" class="btn btn-success">Муж</button>
                <button type="button" class="btn btn-link btn-simple">Жен</button>
           </div>

我是这样写脚本的:

$('.btn').click(function() {
    var $this = $(this);
    if ($this.hasClass('btn-success')) {
        $this.removeClass().addClass('btn-simple');
    } else if ($this.hasClass('btn-simple')) {
        $this.removeClass('btn-simple').addClass('btn-success');
       }
});

但它不起作用。

这是我添加到css文件中的内容:

.btn-simple {
    border-bottom: 1px dashed #000;
    color: #000;
}

没什么,因为这些是引导程序按钮。

4 个答案:

答案 0 :(得分:2)

您应该在document.ready方法中添加代码。

$(document).ready(function () {
        $('.btn').click(function () {
            var $this = $(this);
            if ($this.hasClass('btn-success')) {
                $this.removeClass().addClass('btn-simple');
            } else if ($this.hasClass('btn-simple')) {
                $this.removeClass('btn-simple').addClass('btn-success');
            }
        });
    });

答案 1 :(得分:2)

您需要添加要删除的类,例如:$ this.removeClass('btn-success')。在下面的链接中,我举了一个例子。

   $('.btn').click(function(){
       var $this = $(this);
       if (!$this.hasClass('btn-success')) {
        $('.btn').removeClass('btn-success')
        $this.addClass('btn-success');

       }
    })

https://codepen.io/jmejia1221/pen/qMwLQP

答案 2 :(得分:1)

您没有删除btn-success类之一。另外,我认为您应该添加btn-link类。还要将整件包裹在document.ready

$(document).ready(function () {
    $('.btn').click(function() {
        var $this = $(this);
        if ($this.hasClass('btn-success')) {
            $this.removeClass('btn-success').addClass('btn-simple');
        } else if ($this.hasClass('btn-simple')) {
            $this.removeClass('btn-simple').addClass('btn-link').addClass('btn-success');
           }
    });
});

答案 3 :(得分:0)

假设您要在共享容器中的按钮之间切换。.

/* longer version for demonstration purposes */
$('.btn').click(function() {
  var thisParent = $(this).closest('.btns');
  $(thisParent).find('.btn-success').addClass('btn-simple')
  $(thisParent).find('.btn-success').removeClass('btn-success');
  $(this).removeClass('btn-simple');
  $(this).addClass('btn-success');
})

/* shorter version
$('.btn').click(function() {
  $(this).closest('.btns').find('.btn-success').addClass('btn-simple').removeClass('btn-success');
  $(this).removeClass('btn-simple').addClass('btn-success');
})
*/
* { outline: 0; } button { border-style: none; cursor: pointer; padding: 5px; } button::-moz-focus-inner { border: 0; }
/* ignore above */

.btn-simple {
  border-bottom: 1px dashed #000;
  color: #000;
}
.btn-success {
  background-color: hsla(96, 92%, 37%, 1);
  border-radius: 2px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="btns">
  <button type="button" class="btn btn-success">Муж</button>
  <button type="button" class="btn btn-link btn-simple">Жен</button>
</div>
<div class="btns">
  <button type="button" class="btn btn-success">Муж</button>
  <button type="button" class="btn btn-link btn-simple">Жен</button>
   <button type="button" class="btn btn-link btn-simple">три</button>
</div>

提琴

https://jsfiddle.net/Hastig/bjkchu5L/