2009-02-04 45 views
39

Tôi muốn xóa phần tử DOM ngay sau khi mờ dần. Những gì tôi đã làm cho đến nay làJQuery xóa phần tử DOM sau khi mờ dần

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

Nhưng bây giờ tôi luôn luôn nhận được lỗi này trong Firebug: http://dl.getdropbox.com/u/5912/Jing/2009-02-04_1109.png

Tôi đoán đó là vì chức năng fadeOut là không thực sự thực hiện khi gọi lại được gọi. Và tôi không thể đặt phần $.remove() sau cuộc gọi fadeOut bởi vì nếu không nó sẽ bị xóa ngay lập tức.

Vì vậy, bạn có biết cách nào tôi có thể làm điều này tốt hơn không?

Trả lời

108

Bạn đang sử dụng hàm remove() sai.

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

giải pháp tốt đẹp !! phiếu bầu của tôi là + – imdadhusen

2

lý do gây rối ở đây chỉ sử dụng $ ('# anydiv'). Remove();

+2

Tôi đoán anh ấy muốn phai mờ đầu tiên và xóa phần tử sau khi mờ dần. – user3142695

Các vấn đề liên quan