2009-02-04 22 views
39

Quiero eliminar un elemento DOM justo después de desvanecerme. Lo que hice hasta ahora esJQuery eliminar elemento DOM después de desvanecer

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

Pero ahora siempre sale este error en Firebug: http://dl.getdropbox.com/u/5912/Jing/2009-02-04_1109.png

supongo que se debe a que la función fadeOut no se hace realmente cuando la devolución de llamada se llama. Y no puedo poner la parte $.remove() después de la llamada fadeOut porque de lo contrario se elimina al instante.

¿Sabes de alguna manera que puedo hacer esto mejor?

Respuesta

108

Está utilizando la función remove() incorrectamente.

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

nice solution !! mi voto es + – imdadhusen

2

por qué meterse aquí solo usa $ ('# anydiv'). Remove();

+2

Supongo que quiere desvanecerse primero y eliminar el elemento una vez que el desvanecimiento haya finalizado. – user3142695

Cuestiones relacionadas