You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用纯JS移除标签并保留其子节点在原位置?

解决方案

你要的这种移除标签但保留子内容的需求,有两种很简便的实现方式,不用手动移除再追加子节点:

原生JavaScript写法

直接找到目标元素,用它的子节点替换自身就行:

const target = document.querySelector('.removeThisTag');
target.replaceWith(...target.childNodes);

childNodes会获取目标span里的所有子节点(包括文本、元素),replaceWith直接把目标元素替换成这些子节点,完美保留原位置和内容。

jQuery写法(更简洁)

如果用jQuery的话,一行代码就能搞定:

$('.removeThisTag').contents().unwrap();

contents()获取目标标签里的所有内容,unwrap()则移除包裹这些内容的父标签(也就是那个带removeThisTag的span),直接得到你要的结果。

另外你之前用removeAttribute()没用是正常的,这个方法只是移除元素的属性(比如把class="removeThisTag"删掉),但标签本身还留在DOM里,自然达不到移除整个span的效果。

内容的提问来源于stack exchange,提问作者AntonAntonoff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 01:03:13