如何使用jQuery删除所有父div

时间:2016-07-29 05:36:52

标签: javascript jquery

我有像这样的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);

任何帮助将不胜感激, 谢谢

2 个答案:

答案 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);