我有像这样的div结构
<body>
<div>
<nav></nav>
<nav></nav>
<div>
<div id=parent-conatiner>
<div>
<ul>
<li></li>
<li></li>
</ul>
</div>
</div>
</div>
</div>
</body>
现在我要删除div #parent-container 的所有父元素,但不删除#parent-container div中的任何元素, 我不想使用克隆,然后在正文中包含元素,因为我在#parent-container中使用了一些kendo控件,当我使用克隆的div时,kendo控件停止工作 基本上我不想使用以下逻辑
var $cloned=$('#parent-conatiner')
$('body').empty();
$('body').append($cloned);
任何帮助将不胜感激, 谢谢
答案 0 :(得分:5)
使用以下方法,所有事件绑定都保持不变。
$('#parent-conatiner').parentsUntil('body').replaceWith($('#parent-conatiner'));
答案 1 :(得分:0)
使用jquery unwrap()
函数
或使用克隆方法和eventdelegate kendo controls
另一个解决方案是:
$('body').append($('#parent-conatiner'));
$('body div:last').prevAll().remove();
但这应该是像克隆一样的问题
另一个选项是detach()
var el = $('#parent-conatiner').detach();
$('body').empty().append(el);