我正在尝试使用 jQuery 做一个简单的“切换”功能,但我似乎无法让它以正确的方式工作。
我有一个看起来像这样的 HTML 块:
<li class="item-actions-follow">
<a href="#" id="follow" class="icon small-icon circle_plus">
<i></i>
Follow
</a>
</li>
我想,当用户单击“关注”链接以将 a标签上的类circle_plus更改为circle_minus并将文本关注更改为取消关注时,反之亦然。href
我尝试了一些不同的东西,但它们都接近但不完全是我想要的。
在 jQuery 事件“onclick”中,我这样做:
var text = $("a#follow").text() == 'Follow' ? 'Unfollow' : 'Follow';
$("a#follow").text(text);
这确实将文本“关注”更改为“取消关注”,但当我再次单击链接时并没有返回,它删除了<i></i>
本质上是显示由circle_plus类提供的图标的标签。
我也尝试过做一个纯 Toggle(后来我发现 Toggle 函数对文本不起作用,只能对属性起作用),像这样:
$("a#follow").toggle
function() {
$("a#follow").text("Unfollow");
$(this).removeClass('circle_plus').addClass('circle_minus').stop();
},
function() {
$("a#follow").text("Follow");
$(this).removeClass('circle_minus').addClass('circle_plus').stop();
});
当我这样做并单击链接时,它只是一起“淡出”文本和图标,甚至不会更改类。
我也尝试了该.toggleClass()
功能,但没有运气。
我对 jQuery 比较陌生,所以这可能是一项简单的任务,但我已经广泛寻找解决方案,但到目前为止还没有运气。
希望你能帮助我指出正确的方向。