Javascript 在图标中填充颜色

Javascript 在图标中填充颜色,javascript,jquery,html,css,font-awesome,Javascript,Jquery,Html,Css,Font Awesome,我不熟悉css和jquery。我想在图标中填充颜色。例如,像instagram的心脏图标(双击时,它会充满红色) 我用字体真棒同样。因此,我可以得到心脏图标,但我不能填补我想要的颜色。我试图更改背景色属性,但也不起作用 问题是,当用户点击心脏图标时,它应该是红色的。你能指引我吗 My html file 使用jquerytoggleClass可以像这样在元素中的每个元素中添加或删除类 $(“#心”)。在(“单击”,函数(){ $(this.toggleClass('oldColor','n

我不熟悉css和jquery。我想在图标中填充颜色。例如,像instagram的心脏图标(双击时,它会充满红色)

我用字体真棒同样。因此,我可以得到心脏图标,但我不能填补我想要的颜色。我试图更改背景色属性,但也不起作用

问题是,当用户点击心脏图标时,它应该是红色的。你能指引我吗

My html file

使用jquery
toggleClass
可以像这样在元素中的每个元素中添加或删除类

$(“#心”)。在(“单击”,函数(){
$(this.toggleClass('oldColor','newColor');
});
.newColor{
颜色:红色;
}
oldColor先生{
颜色:绿色
}

您需要在图标中添加onlick函数,并创建一个函数来更改此图标的颜色

<i class="far fa-heart" onclick="changeColor()" id="heart" style="color: green; background-color: red" ></i>

可以像这样使用onclick属性:

<div id="sp"><i class="far fa-heart" id="heart" onclick="changeColor()" style="color: green;" ></i></div>
function changeColor() {
          document.getElementById("heart").style.color = "red";  }

您可以向元素添加css类,以设置其外观样式。在我的示例中,我将click listener添加到元素中,并切换CSS clas

JS代码:

(function() {
  const heart = document.getElementById('heart');
  heart.addEventListener('click', function() {
    heart.classList.toggle('red');
  });
})();
示例链接:


你为什么要重新发明weel?您不需要用自己的风格来管理它。

事实上,为每个图标提供了不同的类,例如,对于
fa-heart
图标,可以将
fa-heart
用于填充的心脏,将
fa-heart-o
用于空的心脏

因此,只需使用jQuery代码在图标的
事件上切换这两个类:

$("#heart").click(function() {
  $(this).toggleClass('fa-heart-o');
  $(this).toggleClass('fa-heart');
});
演示:

$(“#心”)。单击(函数(){
$(this.toggleClass('fa-heart-o');
$(this.toggleClass('fa-heart');
});


单击后,使用红心图标切换图像。是否要设置动画?因为那个么你们应该在互联网上搜索一个“心脏按钮”并复制粘贴代码。例如:或者只是一个简单的,喜欢的或者需要的只是一个简单的,非常感谢..这不起作用,因为绿色是内联样式,正如您所知,内联样式优先于类。
$("#heart").click(function() {
  $(this).toggleClass('fa-heart-o');
  $(this).toggleClass('fa-heart');
});