gpt4 book ai didi

Javascript - 如何替换多个 HTML 节点

转载 作者:行者123 更新时间:2023-11-29 16:30:26 33 4
gpt4 key购买 nike

我正在构建一个电子邮件构造器,当用户保存模板时,我只是将 HTML 发送到服务器。但我需要删除 drap & drop 元素以将其发送到服务器。

我不太擅长 DOM 操作,所以我不知道从哪里开始。

这是我的 HTML:

<table>
<tbody>
<tr>
<th>
<div class="components-drop-area">
<p>aa</p>
<p>bb</p>
</div>
</th>
</tr>
<tr>
<th>
<div class="components-drop-area">
<p>cc</p>
<p>dd</p>
</div>
</th>
</tr>
</tbody>
</table>

我需要删除所有 .components-drop-area div。类似的东西:

<table>
<tbody>
<tr>
<th>
<p>aa</p>
<p>bb</p>
</th>
</tr>
<tr>
<th>
<p>cc</p>
<p>dd</p>
</th>
</tr>
</tbody>
</table>

我在这里停止了我的代码:

var table = document.querySelector('table').cloneNode(true)

let dropAreas = table.querySelectorAll('.components-drop-area')

console.log(table, dropAreas)

如何在保留内容的同时循环和删除所需的元素?

最佳答案

一种方法是用 .components-drop-area innerHTML< 替换 parentNodeinnerHTML/s:

let dropAreas = document.querySelectorAll('.components-drop-area');
for (let i = 0; i < dropAreas.length; i++) {
dropAreas[i].parentNode.innerHTML = dropAreas[i].innerHTML;
}

// The <div> contents have now been extracted, and the <div> elements removed
console.log(document.querySelector('table').innerHTML);
<table>
<tbody>
<tr>
<th>
<div class="components-drop-area">
<p>aa</p>
<p>bb</p>
</div>
</th>
</tr>
<tr>
<th>
<div class="components-drop-area">
<p>cc</p>
<p>dd</p>
</div>
</th>
</tr>
</tbody>
</table>

关于Javascript - 如何替换多个 HTML 节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58984494/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com