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

时间:2015-05-29 12:17:49

标签: javascript jquery html

我试图在使用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标志需要保留在页面上,而加载器包装器需要在定时事件执行所有功能之后继续...

以其当前形式删除了loader-wrapper(没有发生.hide转换)以及嵌套在其中的徽标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>

6 个答案:

答案 0 :(得分:6)

jQuery有一个unwrap方法,可用于删除loader-wrapper

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

https://api.jquery.com/unwrap/

答案 1 :(得分:2)

听起来你只想删除#loader-wrapper div?

在这种情况下,您可以使用jquery's unwrap

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

答案 2 :(得分:1)

您可以使用.unwrap();

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

答案 3 :(得分:1)

如果您不确定子元素,

使用,

$("#loader-wrapper > *").unwrap();

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

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

答案 4 :(得分:1)

$(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 );

这将在动画运行后删除#loader-wrapper });

答案 5 :(得分:0)

您可以使用unwrap删除包装器。

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