javascript - 是否可以删除 html 元素并让您的 child 使用 javascript?

标签 javascript html

我有以下结构..我想删除 div.son但保留div.grandson , 那可能吗 ?!或更改您的 <tag>也将是一个解决方案..例如:从 <fieldset> 更改到 <div> ,请记住我无法访问 HTML,每个更改都必须使用 ** javascript ** 完成!

<div class="father">
  <fieldset class="son">
    <div class="grandson">Content here</div>
    <div class="grandson">Content here</div>
    <div class="grandson">Content here</div>
    <div class="grandson">Content here</div>
  </fieldset>
</div>

我尝试使用 removeChild () ** javascript ** 的功能,但它会删除整个元素。

最佳答案

在删除其他任何内容之前,可以使用普通 JavaScript 深度克隆孙子的节点。然后将其附加回父级。当然如果你想把它放在其他地方,你需要附加所需的 DOM 遍历逻辑。 (CSS部分仅用于结果的视觉验证)

const grandson = document.querySelector('.grandson');
const father = grandson.closest('.father');
const clonedGrandson = grandson.cloneNode(true);

father.querySelector('.son').remove();
father.appendChild(clonedGrandson);
.father {
  background-color: red;
  padding: 20px;
 }
 
 .son {
  background-color: blue;
  padding: 20px;
 }
 
 .grandson {
  background-color: green;
  padding: 20px;
 }
<div class="father">
  <fieldset class="son">
    <div class="grandson">
      <p>Save me</p>
    </div>
  </fieldset>
</div>

关于javascript - 是否可以删除 html 元素并让您的 child 使用 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60550019/

相关文章:

javascript - 从输入中复制值并选择到 div 中

html - UL list-style-image 提供不需要的填充

javascript - 隐藏元素而不在jquery中将显示设置为无

javascript - 将 SVG 添加到 HTML 并处理事件

javascript - Promise.all 没有按预期工作

javascript - 闭包变量对内存的影响

javascript - 从 map 返回多个 <td> 而不将它们包装在封闭的标记中

javascript - SonarQube 的 JavaScript 插件中是否存在错误,它不会获取子目录中测试的 Surefire 测试结果?

html - 将类添加到wordpress中的单个列表项

javascript - 如何显示base64编码的pdf?