javascript - 切换已更改的按钮类

标签 javascript jquery html

我想创建一个切换按钮,单击时会将按钮类从 class="fa fa-toggle-off"更改为 class="fa fa-toggle-on"。

<button class="btn btn-default" id="btn" name="btn"><i id="change" class="fa fa-toggle-off"></i></button>

我在下面创建了 javascript,但是它更改了按钮 style="display:none"而不是更改了它的类。

       $(function() {
          $('#btn').click(function(e) {
            e.preventDefault();

            var display = true,
                image   = 'details_close.png';

            if ($('.td1:visible').length == $('.td1').length) { 
              display = false;
              image   = 'details_open.png';
            }

            $('.td1').toggle(display);

            $("#change").toggle(function() 
            {
                    $('#change').removeClass("fa-toggle-off").addClass("fa-toggle-on");
            }, function() {
                    $('#change').removeClass("fa-toggle-on").addClass("fa-toggle-off");
            });
          });
        });

最佳答案

好了,我使用 toggleClass ( http://api.jquery.com/toggleclass/ ) 函数在您单击按钮时切换类,它会禁用此类 fa-toggle-off 并在点击时激活此类 fa-toggle-on ( https://api.jquery.com/click/ ),反之亦然。

$(document).ready(function(){
  $("#btn").click(function() {
     $("#change").toggleClass("fa-toggle-off fa-toggle-on");
  });
});
.fa-toggle-off {
  background-color: #F00;
}

.fa-toggle-on {
  background-color: #0F0;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="btn btn-default" id="btn" name="btn">
  Button <i id="change" class="fa fa-toggle-off">AAA</i>
</button>

请注意,在您的代码中,您正在检查是否单击了 #change,按钮是否具有 #btn ID 属性。 希望我能帮到你。

关于javascript - 切换已更改的按钮类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55119320/

相关文章:

javascript - javascript中的Bubblesort无法运行?

Javascript通过eval()实现多维数组

javascript - 将逗号分隔的字符串转换为数组

jquery - 移动 jquery - ListView 数据过滤器值

jquery - 隐藏下拉菜单中的 'disabled' 选项

javascript - 视频无法在移动设备上自动播放

javascript - 在某个 div 中查找元素并使用 jQuery 输出它们各自的文本

javascript - Phonegap - javascript longpress

html - datatables.net 插件将左侧菜单隐藏在 IE 中的表格后面

android - 如何在不丢失 css 的情况下将模板从桌面发送到移动设备