我有一个像这样的 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,将其附加到aside内的DOM,然后将两个内部div附加到我创建的新元素.
当我尝试 unwrap() 这两个 div 时,.wrapping-div 和 .l-region--sidebar-first 都从 DOM 中删除。 JS 解开下面的元素。
$(function() {
$('.inner-div-one').unwrap();
$('.inner-div-two').unwrap();
});
我认为 unwrap() 应该删除一个父级。为什么它要删除两者,有谁知道我如何才能阻止这个?
干杯。
最佳答案
您的代码实际上正在按预期工作。正如 $('.inner-div-one').unwrap(); 的第一个实例一样您正在删除父 div,并且在第二个实例中您正在删除旁白标签。它实际上一次只删除一个父级。我认为你不需要那里的第二个声明。
关于jQuery unwrap 删除多个父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18737126/