javascript - 可以使用 jQuery 在 2 个 FontAwesome 5 图标(常规和实心)之间切换

标签 javascript jquery html css font-awesome

我试图同时切换两个类,一个是 fasfar,另一个是 border-heart 和 selected heart。该代码会在显示常规心形的同时显示另一个实心心形。

var w=1


 $('.heart').on('click',function() {
    if(w == 1) {
    $('.heart').removeClass('far fa-heart').addClass('fas fa-heart');
    $('.heart').removeClass('border-heart').addClass('selected-heart');
       }
   else {
    $('.heart').removeClass('fas fa-heart').addClass('far fa-heart');
    $('.heart').removeClass('selected-heart').addClass('border-heart');
       }
    w=1-w; 
    
});
/*I want to toggle the regular heart icon with solid on click and increase its size by 1 px using selected-heart class and removing border-heart*/
.border-heart{
	color: red;
    font-size: 21px;
}
.selected-heart{
	color: red;
	font-size: 22px;
}
<link href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="heart"><i class="far fa-heart border-heart"></i></div>

最佳答案

您必须定位 <i>.heart 内使用 .find() ... 然后只需使用 .toggleClass() 两者的方法 .far.fas类(以及用于更改字体大小的 2 个自定义类)。

;)

$('.heart').on('click',function() {
  $(this).find("i").toggleClass("far fas selected-heart border-heart");
});
.border-heart{
  color: red;
  font-size: 21px;
}
.selected-heart{
  color: red;
  font-size: 22px;
}
<link href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="heart"><i class="far fa-heart border-heart"></i></div>

关于javascript - 可以使用 jQuery 在 2 个 FontAwesome 5 图标(常规和实心)之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51995844/

相关文章:

javascript - 如何在 JSDoc 中将对象数组记录为参数?

javascript - 如何使canvas元素根据鼠标位置进行填充和重新填充

html - Firefox 中的 CSS 怪异 - 向左浮动而不向左浮动,除非使用大宽度

javascript - 如何将 CSS 成功导入 Polymer

javascript - 如何在 React 搜索栏中实现正则表达式过滤器?

jquery - 检查 url 的一部分

javascript - 无需修改/创建实体记录即可触发插件

html - 横幅 DIV 没有向下移动

html - 你能在 HTML 中的 <body> 标签之前放置一个 <center> 标签吗?

javascript - 警告框方法