【问题标题】:How to change class in button when you click on it单击按钮时如何更改按钮中的类
【发布时间】:2018-09-23 19:36:56
【问题描述】:

我有两个按钮:没有背景和绿色,当我点击它们时我需要它们改变(从绿色到带有虚线边框的那个)

这是我的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;
}

没有别的,因为这些是引导按钮。

【问题讨论】:

  • 看看toggleClass

标签: javascript jquery css button


【解决方案1】:

您应该在 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');
            }
        });
    });

【讨论】:

    【解决方案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

    【讨论】:

      【解决方案3】:

      您没有删除 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');
                 }
          });
      });
      

      【讨论】:

        【解决方案4】:

        假设您想在共享容器内的按钮之间切换..

        /* 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/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-03-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-18
          相关资源
          最近更新 更多