如何删除javascript中的节点,而不需要父节点为null
How to delete node in javascript without where parent node is null
我在javascript代码中创建了几个Image
类(据我所知,它是普通的img
节点),但(很重要)没有将其附加到DOM。我用它来检查预加载状态,然后在canvas
上绘制。
现在我想能够中断预加载过程,所以,正如我所理解的,我需要删除node.complete === false
所在的节点。有没有办法在不创建另一个伪元素并将其用作所有图像的父元素的情况下做到这一点?我可以删除没有父节点的节点吗?或者删除节点不会中断对图像资源的HTTP请求?
如果父节点为null,则元素在DOM中是而不是,并且不需要从DOM中移除-从DOM中删除图像节点不会影响其加载。
简单地说:
-
将
Image.src
设置为其他内容,例如空字符串(这是告诉浏览器"停止加载"资源的最佳方法),以及; -
不要保留任何对元素的强引用
然后,在JavaScript无法访问Element之后的某个时刻,Element将被自动"删除"或"垃圾回收"(请参阅#2)。
我相信在任何onload
事件和将Image.src
设置为空字符串之间可能存在竞争条件。如果加载"中止"(即使成功)非常重要,请确保在onload/complete检查处理程序中再次检查src
属性(或另一个"中止"标志)。
相关文章:
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 如何在不需要单击按钮的情况下获取选项的值
- Javascript不需要的关闭行为
- 删除客户端浏览器上不需要的内容
- 不允许在字段中输入不需要的字符
- 不需要的JSON响应
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- jQuery自动完成显示不需要的动态html标记
- 在Knockout js中创建一个包含多行的表,而不需要推送
- AngularJs正在解码HTML字符(不需要)
- jQuery regex从文本链接-添加不需要的域到链接
- 防止从浏览器到应用商店的不需要的重定向
- 外部解析RSS提要,不需要像谷歌和服务器端那样的任何库
- 以后添加的节点不会附加到 jQuery UI 函数
- 不需要的异步事件调度
- 是否有任何不需要后端的验证码角度指令
- 如何删除javascript中的节点,而不需要父节点为null
- 节点.js“需要”其他文件,而不需要命名空间
- 使用angular-cli在Chrome上运行一个本地构建的angular 2应用,不需要节点服务器