我想在字体之间切换真棒图标。我已经尝试过
$(document).ready(function () {
$("#minus").click(function () {
$("#tog").slideToggle();
if ( $("#minus").hasClass("fas fa-minus")) {
$("#minus").addClass("fas fa-plus")
}else {
$("#minus").addClass("fas fa-minus")
}
})
})
$("#minus").click(function () {
$("#tog").slideToggle();
$("#minus").toggleClass("fas fa-plus")
})
})
$(document).ready(function () {
$("#minus").click(function () {
$("#tog").slideToggle();
if ( $("#minus").hasClass("fas fa-minus")) {
$("#minus").addClass("fas fa-plus")
}else {
$("#minus").removeClass("fas fa-plus")
}
})
})
但是以上代码均无效。如何在两个不同的图标之间切换
答案 0 :(得分:1)
看起来您正在添加新类,但在添加新类时并未删除前一个类,因此元素显示的图标类位于样式表的最后。
$("#minus").click(function () {
$("#tog").slideToggle();
if ( $("#minus").hasClass("fas fa-minus")) {
$("#minus").addClass("fa-plus").removeClass('fa-minus')
}else {
$("#minus").addClass("fa-minus").removeClass('fa-plus')
}
})
答案 1 :(得分:1)
更好的实现方式是使用.toggleClass():
$(document).ready(function () {
$("#minus").click(function () {
$("#minus").toggleClass( "fa-minus" );
$("#minus").toggleClass( "fa-plus" );
})
})
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
<i id="minus" class="fa fa-minus fa-2x" aria-hidden="true"></i>