JQuery 同时更改文本和 toggleClass

标签 jquery html css

在单击事件中,我想更改文本并同时切换 2 个不同的类。我在下面设置了我的代码,但它只执行一个而不执行另一个

$(document).ready(function() {

  $('.more-benefits-btn').click(function() {


    $(this).text($(this).text() == 'Show Less' ? 'Show More Benefits' : 'Show Less');
    $("i", this).toggleClass('fal fa-chevron-down fal fa-chevron-up');
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<span class="more-benefits-btn">Show More Benefits&nbsp;<i class="fal fa-chevron-down"></i></span>

最佳答案

<i>类的原因不切换,因为当您使用文本方法时 <i>元素被删除。

使用此代码

  $('.more-benefits-btn').click(function() {
  var i = $("i", this);
  $(this).text($(this).text() == 'Show Less' ? 'Show More Benefits' : 'Show Less');
  i.toggleClass('fa-chevron-down fa-chevron-up');
  $(this).append(i);
  });

关于JQuery 同时更改文本和 toggleClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56855975/

相关文章:

javascript - jquery 第一次点击不起作用,进一步点击起作用

javascript - 自动将文本添加到 mailto : link 中加载的电子邮件

jquery - 使用 $(window).scrollTop() 构建动态 jQuery 菜单;

jquery - ajax 后 Safari/Webkit 处理函数过早 :complete

jquery - 同位素问题 - 排序/过滤后始终将元素保留在左上角

CSS:右包装器从页面末尾掉落

javascript - 如何在网站中为图像赋予功能

jquery - 选择2 : Preselected item and correct rendering through templateSelection

javascript - 如何在 Canvas 元素中正确绘制带间隙的圆?

html - HTML5 离线缓存中延迟加载非 HTML 页面