gpt4 book ai didi

javascript - 将空字符串放入 .outerHTML 是否等同于 remove()?

转载 作者:行者123 更新时间:2023-11-29 17:00:45 30 4
gpt4 key购买 nike

所以如果我有一个 <span class="iii"></span>容器……我用你知道的:

document.querySelector('.iii').outerHTML='';它删除了 span 并实质上从 DOM 中删除了该 span 元素,并且其中的所有内容都正确吗?它真的是从技术上从 DOM 中删除/删除它吗?它会执行 remove() 的操作吗?

我问这个,因为 .remove() 是一种新的实验方法,不跨浏览器正确吗?我试图找到一种跨浏览器的方式来“删除元素”,并且 outerHTML = '';为我做的,但我问这个问题是因为它看起来不对。 outerHTML 的功能不是用于删除,(或者可以)或者是吗?编辑:添加 .iii我的错。

最佳答案

没有区别,当垃圾收集器决定时,两者都会从 DOM 中删除元素,从内存中删除所有事件处理程序和其他相关属性。至于性能,我写了一个快速测试,http://jsperf.com/outerhtmlblank-vs-remove事实证明,outerHTML = '' 在 Google Chrome 上的速度提高了 14%,所以我认为这更好用。请随意在其他浏览器上进行测试以确认结果。

当你调用 outerHTML = '' 时,它会将它周围的 HTML 设置为空,然后当浏览器更新它对 DOM 的表示时,它会意识到该元素现在已经消失并将其从 DOM 中删除而 remove() 只是将它从 DOM 中移除。

关于javascript - 将空字符串放入 .outerHTML 是否等同于 remove()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28357126/

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