2009-02-04 63 views
39

我想在淡出之後立即刪除DOM元素。我所做的,到目前爲止是JQuery在淡出之後刪除DOM元素

$(element).click(function() 
{ 
    $(this).fadeOut(500, function() { $().remove(this); }); 
}); 

但現在我總是得到這個錯誤在Firebug:http://dl.getdropbox.com/u/5912/Jing/2009-02-04_1109.png

我想這是因爲當回調函數被調用的函數淡出是不是真的完成。而且我無法在淡出調用之後放置$.remove()部分,否則它會立即被刪除。

那麼你知道我可以做得更好嗎?

回答

108

您正在錯誤地使用remove()函數。

$(element).click(function() { 
    $(this).fadeOut(500, function() { $(this).remove(); }); 
}); 
+1

不錯的解決方案!我的投票是+ – imdadhusen 2011-06-28 07:19:23

2

爲什麼在這裏搞亂只用 $('#anydiv')。remove();

+2

我猜他希望先淡出,並在淡化完成後移除元素。 – user3142695 2014-02-18 14:09:32

相關問題