【发布时间】:2016-03-14 17:59:47
【问题描述】:
我有一些像这样的字体很棒的图标:
<a class="allarme" id="allarme1" href="#">
<i class="fa fa-toggle-off"></i> <!--<span>Avvia</span>-->
</a>
我想替换单击时的图标,因此我需要更改 i 类。例如从fa-toggle-off 到fa-toggle-on
所以我写了这段代码:
$('.allarme').click(function(e){
e.preventDefault();
console.log("clicked");
$(this).find("i").toggleClass(".fa-toggle-off .fa-toggle-on");
});
控制台告诉我事件被正确触发但类没有被切换。我试图检查SO previous questions,我发现与另一个问题的正确解决方案相同的代码。我错过了什么?
【问题讨论】:
-
您在
toggleClass通话中留下了.的错字吗? -
这是我没有注意到的原始代码中的错字... :) OMG!谢谢@Stryner
-
不应该是
$(this).find("i").toggleClass("fa-toggle");,如果不存在则添加它,如果存在则删除它? -
@LGSon 你必须删除 -off 并添加 -on 来替换图标。它是开启和关闭之间的切换。
-
@LelioFaieta 好的,很公平;兼容性绝对高于一切。像我这样势利的人可能会“纠正”图标显示 CSS 以在课程不存在时使用一个图像,如果课程不存在则使用另一个图像。不过这不是主要问题,而且它是可读的,所以应该没问题。
标签: javascript jquery