在此jsfiddle上,我想将图标的颜色更改为红色后(在“不喜欢”上),并设置颜色为黑色(如果在“喜欢”上):
HTML
<button type="submit" class="btn btn-custom btn-sm liketoggle" name="like"><span>Like</span> <i class="fas fa-heart"></i></button>
JS:
$(".liketoggle").click(function() {
$(this).find("i").toggleClass("fas far");
$(this).find("span").text(function(i, v) {
return v === 'Like' ? 'Unlike' : 'Like'
})
});
CSS
body {
padding: 5em;
}
答案 0 :(得分:0)
我已将颜色添加到.far
类
.open .far {
color: red;
}
JS
$(".liketoggle").click(function() {
$(this).toggleClass("open");
$(this).find("span").text(function(i, v) {
return v === 'Like' ? 'Unlike' : 'Like'
})
});
您可以在.far
或.fas
类上使用CSS规则来获得所需的输出。
编辑
如果有两个按钮,则可以向第二个按钮添加另一个类,并使用see this fiddle
这样的CSS选择器进行播放答案 1 :(得分:0)
答案 2 :(得分:0)
您可以通过简单地添加两个类(如“ like”和“ unlike”),添加所需的颜色并在单击时切换它们来实现此目的。
CSS:
.like .fa-heart{
color: red;
}
.unlike .fa-heart{
color: black;
}
JS:
$(".liketoggle").click(function() {
$(this).toggleClass("like unlike");
$(this).find("span").text(function(i, v) {
return v === 'Like' ? 'Unlike' : 'Like'
})
});
答案 3 :(得分:0)
您所能做的就是点击图标。请参阅以下早期文章: Toggle icon on button via JavaScript
希望这会有所帮助