简体   繁体   中英

JQuery delete DOM element after fading out

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?

You're using the remove() function wrongly.

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

请参阅此前的 SO问题。

为什么搞乱这里只是使用$('#anydiv')。remove();

或$ .remove($(this));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM