我正在开发一个网站。有很多地方,我必须删除html元素。以前的主要贡献者常常这样做:
var elem = document.getElementById('element');
elem.parentNode.removeChild(elem);我在想他为什么不直接用
elem.remove();而不是。
我已经说到了,第一种方法不起作用,并返回了一个错误,但是第二种方法工作得很好。当然,我想在这个项目中坚持使用代码标准,所以我的第一次尝试就是使用parentNode.removeChild。不幸的是,我不能联系那个人,问为什么会这样做。
这两者有什么区别,我能安全地替换它们吗?
发布于 2020-08-12 11:25:50
从MDN来看,两者是等价的。.remove()受到jQuery的启发,并在很久之后才实现。不支持它。
如果您不需要IE,您可以安全地替换parentNode.removeChild,但是如果要转换代码,则replace方法使用parentNode.removeChild方法进行多填充.
发布于 2020-08-12 11:25:35
删除与removeChild有何不同?
remove只需要一个对孩子的引用。removeChild需要对父级和子级的引用。结果是一致的。
另外,您可能会想,有什么方法可以确保该元素实际从内存中删除吗?
不是的。您只能取消引用,并希望存在一个垃圾收集器,它将检测未引用的对象,然后将其删除。
https://stackoverflow.com/questions/63375452
复制相似问题