JQuery延迟()不延迟

为什么这会立即清空文本(忽略延迟)?

$('#error_box_text').html('error text').delay(5000).html('') 

jQuery 1.4

delay 永远不会延迟常规方法 – 只有那些被推到动画/效果链的人。 如果要延迟html()调用,请使用queuehttp://api.jquery.com/queue/ ):

 $('#error_box_text').html('error text').delay(5000).queue(function() { $(this).html('') }); 

如果你能这样做会很好

 $('#error_box_text').html('error text').delay(5000, function() { $(this).html('') }); 

但这还不可能(还)。

尝试

 var sel = $('#error_box_text'); sel.html('error text'); setTimeout(function(){ sel.html(''); }, 5000); 

延迟()

jQuery.delay()最适合在排队的jQuery效果之间延迟,并且不能替代JavaScript的本机setTimeout函数