我有:
$('p').fadeOut(300, function() { $(this).remove(); });
但为什么我不能做这些呢?:
$('p').fadeOut(300, $.fn.remove);
$('p').fadeOut(300, $().remove);
var p = $('p'); p.fadeOut(300, p.remove);
答案 0 :(得分:5)
$('p').fadeOut(300, $.fn.remove);
$.fn.remove
没有上下文。 $.proxy($.fn.remove, $("p"))
可以在这里工作
$('p').fadeOut(300, $().remove);
没有上下文传递。 $.proxy($().remove, $("p"))
可以在这里工作
p.fadeOut(300, p.remove);
没有上下文传递。 $.proxy(p.remove, p)
可以在这里工作
修复代码:
$('p').fadeOut(300, $.proxy($.fn.remove, $("p")));
$('p').fadeOut(300, $.proxy($().remove, $("p")));
var p = $('p'); p.fadeOut(300, $.proxy(p.remove, p));