Javascript 如何在bootstrap 4中使用可折叠切换字体图标?

Javascript 如何在bootstrap 4中使用可折叠切换字体图标?,javascript,jquery,html,bootstrap-4,font-awesome,Javascript,Jquery,Html,Bootstrap 4,Font Awesome,让下面的代码可以很好地使用可折叠的切换。问题在于font-awesome图标。如果单击+符号,它将展开卡及其工作,但不会更改为-符号 编辑 只有一个可折叠文件将打开,活动的可折叠文件必须有-符号,另一个是+符号,依此类推 我的语法正确吗 $(“.colHide”)。单击(函数(e){ $(此).toggleClass(“fa加”).toggleClass(“fa减”); setTimeout(函数(){ $(.clsColHide”).find(“div.show”).removeClass(

让下面的代码可以很好地使用可折叠的切换。问题在于
font-awesome图标
。如果单击
+
符号,它将展开卡及其工作,但不会更改为
-
符号

编辑

只有一个可折叠文件将打开,活动的可折叠文件必须有
-
符号,另一个是
+
符号,依此类推

我的语法正确吗

$(“.colHide”)。单击(函数(e){
$(此).toggleClass(“fa加”).toggleClass(“fa减”);
setTimeout(函数(){
$(.clsColHide”).find(“div.show”).removeClass(“show”).fadeOut(“slow”,100);
$(“.colHide”).removeClass().addClass(“fa-fa加上浮动右colHide”);
if($(this).hasClass(“fa plus”))
$(e.target).removeClass().addClass(“fa-fa减去float right colHide”);
}, 100);
});

文本1
遵守
第三部分
您所需要的就是不更新当前元素

$(“.colHide”)。单击(函数(e){
调试器;
if($(this).hasClass(“fa减号”)){
$(此).removeClass(“fa减”).addClass(“fa加”)
}否则{
$(此).removeClass(“fa加”).addClass(“fa减”);
}
$(“.colHide”).not(this).removeClass(“fa减”).addClass(“fa加”)
setTimeout(函数(){
$(.clsColHide”).find(“div.show”).removeClass(“show”).fadeOut(“slow”,100);
}, 100);
});

文本1
遵守
第三部分
问题: 我点击
+
符号,它将展开卡及其工作,但不会变为
-
符号

解决方案:

  • 对于
    addClass()
    removeClass()
  • 您所有的代码都非常正确,但只需添加删除
    +
    -
    符号代码的条件即可
检查以下示例:

$(“.colHide”)。单击(函数(e){
setTimeout(函数(){
$(.clsColHide”).find(“div.show”).removeClass(“show”).fadeOut(“slow”,100);
$(“.colHide”).addClass(“fa加”).removeClass(“fa减”);
$(e.target).removeClass(“fa plus”).addClass(“fa减号”);
}, 100);
});

文本1
遵守
第三部分

我尝试了不同的方法。我改变了每个标题中的标记,而不是通过JS进行管理。看看下面,如果它是为你工作

$(“.colHide”)。单击(函数(e){
$(this.toggleClass(“扩展头”);
});
.collazed header.fa减去{display:none;}
.fa加上{显示:内联块;}
.expanded header.fa减去{display:inline block;}
.expanded header.fa plus{display:none;}

文本1
遵守
第三部分

-
符号没有变为
+
谢谢,伙计,这就是我要找的。