我試圖用jQuery做一個簡單的「切換」功能,但我似乎無法讓它工作得很正確。jQuery:在保留子元素的同時在點擊時更改文本和類
我有一個HTML塊,看起來像這樣:
<li class="item-actions-follow">
<a href="#" id="follow" class="icon small-icon circle_plus">
<i></i>
Follow
</a>
</li>
我想,當用戶點擊鏈接「按照」更改類circle_plus在一個href
標籤circle_minus並更改文字按照到取消關注,反之亦然。
我嘗試了一些不同的東西,但他們都接近,但不完全是我想要的。
在一個jQuery事件「點擊」我這樣做:
var text = $("a#follow").text() == 'Follow' ? 'Unfollow' : 'Follow';
$("a#follow").text(text);
這確實改變了文本「跟隨」到「取消關注」,但不能回來時,我再次點擊該鏈接和它去掉了標籤<i></i>
這實質上是顯示由circle_plus類提供的圖標。
我也試圖做一個純粹的切換(我後來發現的切換功能不上的文字,但只有性工作),像這樣:
$("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比較新,所以它可能是一個簡單的任務,但我已經找到了一個解決方案,但迄今沒有運氣的廣泛。
希望你能幫助我指出正確的方向。
你能提供一個可行的例子嗎? –