how to delete the virtual dom that created in memory using js

const virtualDomConvert = (filename = ``) => {
const svg = document.querySelector(`[id="live_map_svg"]`);
const clone = svg.cloneNode(true);
clone.id = 'vdom_svg';
// autoRemoveAttributes(clone);
const html = clone.outerHTML;
// add xml namespace, support browser open preview
const xml = `
<?xml version="1.0" encoding="UTF-8"?>
${html}
`.trim();
const alink = document.createElement('a');
alink.setAttribute('href', 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(xml));
alink.setAttribute('download', filename);
alink.style.display = 'none';
const vdom = document.createElement(`div`);
vdom.appendChild(alink);
alink.click();
vdom.removeChild(alink);
// ??? how to delete vdom ???
// document.body.appendChild(alink);
// alink.click();
// document.body.removeChild(alink);
}

solution

object delete


vdom = document.createElement(`div`);
// <div>​</div>​ vdom.remove();
// undefined vdom;
// <div>​</div>​ window.vdom;
// <div>​</div>​ this.vdom;
// <div>​</div>​
delete this.vdom;
// true
vdom;
// VM98286:1 Uncaught ReferenceError: vdom is not defined at <anonymous>:1:1

vdom = document.createElement(`div`);
// <div>​</div>​ vdom.setAttribute("id", "uuid_div");
//undefined
document.getElementById("uuid_div");
//null
document.getElementById("uuid_div").remove();
//VM105598:1 Uncaught TypeError: Cannot read property 'remove' of null
at <anonymous>:1:36

demo




not work

https://developer.mozilla.org/en-US/docs/Web/API/Node/removeChild

// remove child
node.removeChild(child);
// OR
const oldChild = node.removeChild(child);

https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove

// remove self
node.remove();

Web Component

https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement#Web_component_example

https://developer.mozilla.org/en-US/docs/Web/API/HTMLUListElement

https://www.w3.org/TR/custom-elements/

https://github.com/w3c/webcomponents/

refs

https://www.digitalocean.com/community/tutorials/how-to-make-changes-to-the-dom



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


最新文章

  1. xampp环境搭建+bugfree
  2. 客户端挂载NFS服务器中的共享目录(用户后台上传图片与前台上传图片放在同一个服务器上)
  3. mysql中DATETIME,DATE和TIMESTAMP的区别整理
  4. 解决memcached不能远程访问的问题
  5. oracle创建dblink问题
  6. 数据字典 dba_free_space及相对文件号RELATIVE_FNO 小结
  7. 用java开发的网站或者程序
  8. VS2015 C#6.0 中的那些新特性(转载)
  9. bzoj1676[Usaco2005 Feb]Feed Accounting 饲料计算
  10. iOS开发中捕获Crash 发送Bug邮件
  11. Cf #353 D. Tree Construction
  12. JavaWeb学习归档(一) - HTTP协议总结
  13. mybatis快速入门(四)
  14. js点击出现二级菜单,点击二级菜单主菜单换成二级菜单
  15. CentOS-7.2安装Ambari-2.6.1
  16. fetch数据请求的封装
  17. 恒生UFX交易接口基本介绍说明
  18. su 与 su - 比较
  19. CRM项目完成实现
  20. tomcat-在eclipse中配置tomcat容器的内存

热门文章

  1. Webpack4.0各个击破(10)integration篇
  2. codevs 1344 模拟退火
  3. Smarty 3.1.34 反序列化POP链(任意文件删除)
  4. linux:nginx
  5. 关于ckfinder上传文件时不能根据结果返回自定义操作问题?
  6. 项目action:前台传多个dataWrap给后台
  7. Java 复习整理day03
  8. libuv事件循环
  9. MongoDB:原来我如此简单
  10. this.$nextTick( 回调函数 )的作用