怎么清除用document.createElement("a")创建的节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么清除用document.createElement("a")创建的节点相关的知识,希望对你有一定的参考价值。

var ele = document.createElement("a");但没添加到document.body中,
会产生内存泄漏吗? 如果这样,改怎么删除?
谢谢!

创建节点后需要添加:
var ele = document.createElement("a");
document.body.appendChild(ele);

当然你不添加,就相当于创建一个对象,只不过而没用它。
不管添加与不添加那个对象都存在了
不会产生内存泄露
不用删除
如果添加了,从节点从移除:document.body.removeChild(ele);
参考技术A

可以通过记录变量或为新增的节点添加id、class等标识的方法删除节点。

方法一:

使用变量记录

var newLink = document.createElement('a');
document.appendChild(newLink);//将a追加到页面上
document.removeChild(newLink);//将a从页面上删除

方法二:

为节点添加id

var newLink = document.createElement('a');
a.id = 'new-link';
document.appendChild(newLink);
document.removeChild(document.getElementById('new-link'));

注意,如果追加到其他元素中,删除新建节点时需要删除指定元素下的节点

生成动态表

function td(id)

    var td=document.getElementById(id+'');
    var table = document.createElement('table');
    var tbody=document.createElement('tbody');
    var tr = document.createElement('tr');
    var tdchild = document.createElement('td');
    tdchild.innerHTML="<input type=text name=txt size=2>";
    tr.appendChild(tdchild);
    tbody.appendChild(tr);
    table.appendChild(tbody);
    td.appendChild(table);

我想在点击按钮的同时生成一个表格。它不是这样发生的?

答案

你的代码对我来说是正确的,它似乎按预期工作。

检查this fiddle

您确定要使用正确的ID调用td函数,并且ID是在td元素中,而不是在table元素中吗?

另一答案

这对我行得通。您是否定义了将运行此功能的单击侦听器?是否存在具有指定ID的td?

以上是关于怎么清除用document.createElement("a")创建的节点的主要内容,如果未能解决你的问题,请参考以下文章

JS 无法设置样式属性

上次用过的ls数据记录怎么清除

怎么清除dns缓存批处理?

WINFORM到底是个啥程序,怎么清都清除不了

C#里我要怎么清除DataGridView里的columns

android开发,用webview打开本地html网页时,怎么清除缓存