2011-09-26 49 views
-1

加載類已添加,但未刪除。如何解決這個問題?無法刪除jQuery中的類

$(".phones").addClass("loading"); 
    that = this 
    setTimeout(function() { 
     $(that).removeClass('loading'); 
    }, 3000); 
+6

此代碼運行在什麼上下文?這應該是什麼? –

回答

3

像這樣的工作:

var phones = $(".phones").addClass("loading"); 
setTimeout(function() { 
    phones.removeClass('loading'); 
}, 3000); 

我不知道爲什麼你擔心的範圍,雖然。

2

你試圖做:

$(".phones").addClass("loading"); 
setTimeout(function() { 
    $(".phones").removeClass('loading'); 
}, 3000); 

that = this,它指的是window對象,如果沒有更小的封閉範圍內。

+0

是的,我們都錯過了:) – simoncereska

-1

變化that = thisthat = $(this);,未經測試,但相信這將有助於

+0

它會變成'$($(this))'這樣;它並沒有真正添加任何東西。 – pimvdb

0

that =這與您的縮進暗示的$(「。phones」)無關。

var phones = $(".phones").addClass("loading"); 
setTimeout(function() { 
    phones.removeClass('loading'); 
}, 3000); 
0

這裏的問題是,您要添加的類一組由類選擇.phones定義的元素,但你從保存的項目that定義的單個元素中取出。看起來你想添加和從同一個組中刪除。要做到這一點只是使用相同的查詢

$(".phones").addClass("loading");  
setTimeout(function() { 
    $(".phones").removeClass('loading'); 
}, 3000);