删除dom节点主要有四种方法:1. remove() 直接删除节点,兼容IE9以上;2. parentnode.removeChild() 通过父节点删除子节点,兼容性好;3. innerhtml清空法批量移除子元素但会丢失事件;4. replaceWith() 通过替换实现删除。

在javaScript中删除DOM节点主要有以下几种方法,每种适用于不同的使用场景。
1. remove() 方法
remove() 是最直接的方式,调用该方法可以直接将节点从DOM树中移除。
注意:该方法不会触发父元素的事件监听,且兼容性较好(IE9及以上支持)。
示例:
<pre class="brush:php;toolbar:false;">const element = document.getElementById('myElement'); element.remove(); // 直接删除该元素
2. parentNode.removeChild() 方法
通过父节点调用 removeChild() 方法来删除指定的子节点。这是传统但兼容性极好的方式。
需要先获取目标节点的父节点,再执行删除操作。
示例:
<pre class="brush:php;toolbar:false;">const element = document.getElementById('myElement'); if (element && element.parentNode) { element.parentNode.removeChild(element); }
3. innerHTML 清空法
不是真正“删除节点”,而是通过设置父容器的 innerHTML 为空字符串来移除所有子节点。
适用于批量删除子元素,但会破坏事件绑定和引用,需谨慎使用。
示例:
<pre class="brush:php;toolbar:false;">document.getElementById('container').innerHTML = '';
4. replaceWith() 替换删除
使用 replaceWith() 可以将一个节点替换成其他内容,传入空参数可实现“删除”效果。
示例:
<pre class="brush:php;toolbar:false;">const element = document.getElementById('myElement'); element.replaceWith(); // 删除该节点
基本上就这些常用方式。根据实际需求选择:单个节点删除推荐用 remove(),兼容老浏览器时可用 removeChild(),清空内容则考虑 innerHTML。不复杂但容易忽略细节。