首页 >web前端 >js教程 >如何高效删除 JavaScript 中的 HTML 元素?

如何高效删除 JavaScript 中的 HTML 元素?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-26 12:53:10285浏览

How Can I Efficiently Remove HTML Elements in JavaScript?

轻松删除元素:探索nativeDOM和node.remove()

当负责在JavaScript中删除HTML元素时,长期以来,一个明显的奇怪之处:必须首先选择父节点。直到最近,标准方法还需要以下代码:

var element = document.getElementById("element-id");
element.parentNode.removeChild(element);

改进的方法

对于现代浏览器,增强原生 DOM 功能提供了一种感觉更佳的解决方案直观:

Element.prototype.remove = function() {
    this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
    for(var i = this.length - 1; i >= 0; i--) {
        if(this[i] && this[i].parentElement) {
            this[i].parentElement.removeChild(this[i]);
        }
    }
}

现在,删除元素变成了微风:

document.getElementById("my-element").remove();

document.getElementsByClassName("my-elements").remove();

node.remove()的胜利

在最近的更新中,node.remove( )已成为这项任务的救世主,可在所有现代浏览器中使用,除了IE:

document.getElementById("my-element").remove();

[...document.getElementsByClassName("my-elements")].map(n => n && n.remove());

虽然这些解决方案可能不适用于 IE 7 及更低版本,但它们提供了一种更平滑、更合乎逻辑的方式从 DOM 中删除元素,留下更高效、更简单的编码体验背后。

以上是如何高效删除 JavaScript 中的 HTML 元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn