我有一个图标<i id="test" class="fas fa-times-circle"></i>
点击后,我想改变它的类,以成为<i id="test" class="far fa-times-circle"></i>
因此,基本上删除fas
并添加far
,如果再次单击,则反之亦然。
https://jsfiddle.net/bobbyrne01/ptsgba1h/7/
HTML:
<i class="fas fa-times-circle"></i>
<i class="far fa-times-circle"></i>
<hr/>
<div>
<i id="test" class="fas fa-times-circle"></i>
</div>
JavaScript:
$(document).ready(function() {
$('#test').on('click', function() {
console.log(this);
$(this).toggleClass('fas');
$(this).toggleClass('far');
});
});
你知道为什么类没有被切换吗?
2条答案
按热度按时间iq0todco1#
你使用的是带有JavaScript的SVG版本,它用
<svg>
替换了<i>
标签(和其他标签),匹配一组标准因此,在本例中,将
data-prefix
属性更改为fas
或far
下面是一个完整示例
ggazkfy82#
当与
far
/fas
一起使用时,<i>
元素被基于fa-*
类的svg
元素替换,它们包含以下类型的类:svg-inline--fa fa-times-circle fa-w-16
。这就是类切换代码不起作用的原因更好的解决方案是在单击时显示/隐藏相应的图标。