2

我有一个像这样的html结构

<aside class="l-region l-region--sidebar-first">
  <div></div>
  <div></div>
</aside>

旁边的两个 div 确实有类和子元素,但为了这个问题,你不需要知道它们是什么。在 DOM 准备就绪时,我将两个内部 div 包装在一个新的 div 中,如下所示

<aside class="l-region l-region--sidebar-first">
  <div class"wrapping-div">  
    <div class="inner-div-one"></div>
    <div class="inner-div-two"></div>
  </div>
</aside>

我不使用 wrap() 函数来获取 .wrapping-div 中的两个 div,我创建了该 div,将其附加到 side 内的 DOM 中,然后将两个内部 div 附加到我创建的新元素中。

当我尝试 unwrap() 这两个 div 时, .wrapping-div 和 .l-region--sidebar-first 都会从 DOM 中删除。JS 来解开下面的元素。

$(function() {
  $('.inner-div-one').unwrap();
  $('.inner-div-two').unwrap();
});

我认为 unwrap() 应该删除一个父母。为什么要同时删除两者,有人知道我该如何阻止吗?

干杯。

4

2 回答 2

4

您的代码实际上正在按预期工作。作为 $('.inner-div-one').unwrap(); 的第一个实例 您正在删除父 div,并且在第二个实例中您正在删除旁边的标签。它实际上一次只删除一个父级。我认为你不需要那里的第二个陈述。

于 2013-09-11T09:23:11.570 回答
0

嗯,和我想的一样。你打电话unwrap两次,就是这样。

$(function() {
    $('.inner-div-one').unwrap();
});

就足够了,因为 in 解开它们。

于 2013-09-11T09:23:28.703 回答