如何删除javascript中的节点,而不需要父节点为null

How to delete node in javascript without where parent node is null

本文关键字:节点 不需要 父节点 null 何删除 删除 javascript      更新时间:2024-02-26

我在javascript代码中创建了几个Image类(据我所知,它是普通的img节点),但(很重要)没有将其附加到DOM。我用它来检查预加载状态,然后在canvas上绘制。

现在我想能够中断预加载过程,所以,正如我所理解的,我需要删除node.complete === false所在的节点。有没有办法在不创建另一个伪元素并将其用作所有图像的父元素的情况下做到这一点?我可以删除没有父节点的节点吗?或者删除节点不会中断对图像资源的HTTP请求?

如果父节点为null,则元素在DOM中是而不是,并且不需要从DOM中移除-从DOM中删除图像节点不会影响其加载。

简单地说:

  1. Image.src设置为其他内容,例如空字符串(这是告诉浏览器"停止加载"资源的最佳方法),以及;

  2. 不要保留任何对元素的强引用

然后,在JavaScript无法访问Element之后的某个时刻,Element将被自动"删除"或"垃圾回收"(请参阅#2)。

我相信在任何onload事件和将Image.src设置为空字符串之间可能存在竞争条件。如果加载"中止"(即使成功)非常重要,请确保在onload/complete检查处理程序中再次检查src属性(或另一个"中止"标志)。