JQuery удаляет элемент DOM после исчезновения - PullRequest
39 голосов
/ 04 февраля 2009

Я хочу удалить элемент DOM сразу после исчезновения. То, что я до сих пор делал, это

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

Но теперь я всегда получаю эту ошибку в Firebug: http://dl.getdropbox.com/u/5912/Jing/2009-02-04_1109.png

Полагаю, это потому, что функция fadeOut на самом деле не выполняется при вызове обратного вызова И я не могу поставить часть $.remove() после вызова fadeOut, потому что в противном случае она удаляется мгновенно.

Так вы знаете, как я могу сделать это лучше?

Ответы [ 4 ]

108 голосов
/ 04 февраля 2009

Вы неправильно используете функцию remove().

$(element).click(function() {
    $(this).fadeOut(500, function() { $(this).remove(); });
});
3 голосов
/ 04 февраля 2009

См. это ранее ТАК вопрос.

2 голосов
/ 14 февраля 2011

зачем тут возиться просто использовать $ ( '# Anydiv') удалить ();.

0 голосов
/ 09 сентября 2010

или $ .remove ($ (this));

...