jQuery unwrap 删除多个父级

标签 jquery html dom unwarp

我有一个像这样的 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/

相关文章:

javascript - ajax给出html和脚本

javascript - 为什么我的 HTML 链接背景在鼠标点击时没有变成红色?

html - <img> 标签中是否需要文件扩展名?

java - 在 Java 中从 XML 中删除重复的命名空间

javascript - 使用 Javascript 动态创建具有递增 ID 的 dom 元素

jquery - ui-select2(multiple) 与 jquery 1.7.x 不选择值

c# - 文本框接受 Javascript 中的以下值吗?

html - 底部 :0 not working when position:absolute applied

html - 3个相同宽度的flexbox元素的水平居中

javascript - Chrome 扩展程序 : Message Passing (Sending the DOM to popup. js) 返回 'null'