Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery删除div,但将div保留在其中_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery删除div,但将div保留在其中

Javascript 使用jquery删除div,但将div保留在其中,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用jquery在定时事件后删除div。。目前,初始计时器如下所示 $(document).ready(function () { setTimeout(function () { $("#loader-wrapper .loader-section, #textbit").hide("slow"); $("#logo").animate({ left: '-115px', top: '-60%' }); $("#logo-sid

我正在尝试使用jquery在定时事件后删除div。。目前,初始计时器如下所示

$(document).ready(function () {
    setTimeout(function () {
        $("#loader-wrapper .loader-section, #textbit").hide("slow");
        $("#logo").animate({ left: '-115px', top: '-60%' });
        $("#logo-side").animate({ opacity: 9 }, 2000);
        $("#loader-wrapper").remove();
    }, 2000);
});
我在这里用加载程序包装器外的div做了一些事情,但是div徽标需要保留在页面上,而加载程序包装器需要在定时事件执行完所有功能后继续

在其当前形式中,加载程序包装被删除(没有发生.hide转换),并且还删除了嵌套在其中的logo div。。。有人能建议/提供解决办法吗

html看起来像这样

<div id="loader-wrapper">
    <div id ="wrapper">
       <div id="logo"><a href="index.html"><img src="images/mthc/logo-main.png" height="130px" width="420px"></a>
       </div>
    </div>
 </div>

听起来您只是想删除
#加载程序包装器
div

在这种情况下,您可以使用

您可以使用移除包装器

$("#wrapper").unwrap();

jQuery有一个
unwrap
方法,您可以使用该方法删除
加载程序包装

$(“#包装器”).unwrap()

您可以使用
.unwrap()


如果您不确定子元素

使用

另外,使用
animate()
回调在动画发生后删除元素

$("#logo-side").animate({
    opacity: 9
}, 2000, function () {
    $("#loader-wrapper > *").unwrap();
});
试一试

这将在动画运行后删除#加载程序包装
});

??困难的方法是克隆元素,然后再次附加它,但您已经有了解决方案。我认为“打开包装”的方法可以在引擎盖下实现这一点:)啊,我从来都不知道现在尝试它。。。这是我重点关注的加载程序包装,
unwrap
方法将删除元素的父元素。在这种情况下,我们希望以
#wrapper
为目标,以便删除其父级
#loader wrapper
。如何延迟此操作,直到当前计时器功能执行完毕。。。它没有给其他函数执行的机会?将展开与其他函数一起放入
setTimeout
中。请注意,
unwrap()
需要在内部元素上调用。啊,这实际上是告诉展开函数在动画发生后冷静2秒,我会立即整合。
$("#wrapper").unwrap();
$("#loader-wrapper > *").unwrap();
$("#logo-side").animate({
    opacity: 9
}, 2000, function () {
    $("#loader-wrapper > *").unwrap();
});
$(document).ready(function() {  
setTimeout( function () {
$("#loader-wrapper .loader-section, #textbit").hide("slow");
$("#logo").animate({left: '-115px', top:'-60%'}); 
$( "#logo-side" ).animate({ opacity: 9 }, 2000);
setTimeout(function(){
$("#loader-wrapper").remove(); 
},4000);
}, 2000 );