views:

10252

answers:

3

I want to delete an DOM element right after fading out. What I did so far is

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

But now I always get this error in Firebug: http://dl.getdropbox.com/u/5912/Jing/2009-02-04_1109.png

I guess it is because the fadeOut function is not really done when the callback gets called. And I can not put the $.remove() part after the fadeOut call because otherwise it gets removed instantly.

So do you know of any way I can do this better?

+2  A: 

See this earlier SO question.

Ash
+30  A: 

You're using the remove() function wrongly.

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

or $.remove($(this));

eyurdakul