这个jQuery有什么问题吗?延迟似乎不起作用。
$( "#checked_value" ).replaceWith( "<div id='checked_value_loading'></div>").slideUp( 300 ).delay( 8000 ).fadeIn( 400 );
当我在代码行之前添加alert("test");
时,我可以看到它更改为<div id='checked_value_loading'></div>
,但没有提醒,就没有延迟......
答案 0 :(得分:2)
问题是replaceWith()返回原始元素集,而不是新元素,因此您将效果应用于不再属于DOM的元素。
一个简单的解决方案是颠倒你的逻辑并改为使用replaceAll():
$("<div id='checked_value_loading'></div>")
.replaceAll("#checked_value")
.slideUp(300).delay(8000).fadeIn(400);