javascript - 无法更新点击事件上的按钮文本和字体图标

标签 javascript jquery

如何正确更改/更新点击事件上按钮的文本和字体图标?

$(".btn-warning").click(function() {
      $(this).toggle(function() {
          $('.btn-warning').text("Remove Filter <i class='fa fa-filter'></i>");
      }, function() {
          $('.btn-warning').text("Apply Filter <i class='fa fa-remove'></i>"); 
      });
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<button type="button" class="btn btn-warning">Apply Filter <i class="fa fa-filter"></i></button>

最佳答案

给你。

$(".btn-warning").click(function() {
    var $btn = $(this);
    if ($btn.hasClass('x-on')) {
        $btn.removeClass('x-on').html("Apply Filter <i class='fa fa-filter'></i>");
    } else {
        $btn.addClass('x-on').html("Remove Filter <i class='fa fa-remove'></i>");
    }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" />
<button type="button" class="btn btn-warning">Apply Filter <i class="fa fa-filter"></i></button>

关于javascript - 无法更新点击事件上的按钮文本和字体图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53639995/

相关文章:

javascript - 自定义结帐 "Place Order"按钮输出 html

javascript - jQuery,data()不更新数据属性

javascript - 从 PHP if 语句运行 JavaScript

javascript - 在滚动条上翻转和旋转图像

jquery - 在 jQuery 验证引擎中添加自定义正则表达式验证

java - 从服务器获取自动响应

javascript - 允许用户控制网页上的音频播放

javascript - 选择下一个列表组并更改数据状态

javascript - jQuery.getJSON 无法在带有特殊字符的 IE 中工作

javascript - 在所有元素上应用 jquery 代码