2009-02-04 9 views
39

Ich möchte ein DOM-Element direkt nach dem Ausblenden löschen. Was ich bisher getan hat, istJQuery löschen DOM-Element nach dem Ausblenden

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

Aber jetzt habe ich diesen Fehler immer in Firebug erhalten: http://dl.getdropbox.com/u/5912/Jing/2009-02-04_1109.png

Ich denke, es liegt daran, dass die fadeOut Funktion nicht wirklich erfolgt, wenn der Rückruf aufgerufen wird. Und ich kann den $.remove() Teil nicht nach dem fadeOut Anruf setzen, weil es sonst sofort entfernt wird.

Wissen Sie also, wie ich das besser machen kann?

Antwort

108

Sie verwenden die remove() Funktion falsch.

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

nette Lösung !! Meine Stimme ist + – imdadhusen

2

Warum hier herumspielen einfach verwenden $ ('# anydiv'). Remove();

+2

Ich denke, er möchte zuerst ausbleichen und das Element entfernen, nachdem das Verblassen beendet ist. – user3142695