Javascript DOM:查找未连接的节点

Javascript DOM:查找未连接的节点,javascript,dom,Javascript,Dom,如何找到未连接的节点 示例代码: var newElem = document.createElement('div'); newElem.id = 'newDiv'; newElem = null; 如何找到我刚刚创建的div document.getElementById'newDiv'不工作,因为该div未附加到文档。将对元素的newElem引用设置为null后,节点将被垃圾收集。它已经不存在了,你也找不到了 如果未将节点附加到DOM部件,则无法使用任何DOM方法在该部件中查找该节点。将

如何找到未连接的节点

示例代码:

var newElem = document.createElement('div');
newElem.id = 'newDiv';
newElem = null;
如何找到我刚刚创建的div

document.getElementById'newDiv'不工作,因为该div未附加到文档。

将对元素的newElem引用设置为null后,节点将被垃圾收集。它已经不存在了,你也找不到了

如果未将节点附加到DOM部件,则无法使用任何DOM方法在该部件中查找该节点。

将对元素的newElem引用设置为null后,该节点将被垃圾收集。它已经不存在了,你也找不到了

如果未将节点附加到DOM部件,则无法使用任何DOM方法在该部件中查找它

document.getElementById'newDiv'不工作,因为该div不可用 附于文件之后

没错。您已经存储了对刚刚创建的元素的引用。那么为什么不改用它呢

将其设置为null并询问如何找到它,是不明智的

所有DOM方法都作用于DOM中的节点或DOM的一部分。如果不是,并且如果您有意将自己的引用设置为null,那么无论是什么原因,您都不能再引用它,因为在任何地方都没有它的引用,因此它被垃圾收集

document.getElementById'newDiv'不工作,因为该div不可用 附于文件之后

没错。您已经存储了对刚刚创建的元素的引用。那么为什么不改用它呢

将其设置为null并询问如何找到它,是不明智的

所有DOM方法都作用于DOM中的节点或DOM的一部分。如果不是,并且如果您有意将自己的引用设置为null,无论原因是什么,您都不能再引用它,因为任何地方都没有它的引用,因此它被垃圾收集。

无论您使用newElem=null;否则,document.getElementById'newDiv'将返回null,因为您创建的dom未附加到文档

您可以使用:

var newElem = document.createElement('div');
newElem.id = 'newDiv';
var existsElem = document.getElementById("any-existing-element");
existsElem.appendChild(newElem); // attach your created element to document
然后document.getElementByIdnewDiv将获得新创建的元素

注:existsElem.appendChildnewElem后;已执行,即使执行newElem=null;,document.getElementByIdnewDiv仍然获取dom。

无论您使用newElem=null;否则,document.getElementById'newDiv'将返回null,因为您创建的dom未附加到文档

您可以使用:

var newElem = document.createElement('div');
newElem.id = 'newDiv';
var existsElem = document.getElementById("any-existing-element");
existsElem.appendChild(newElem); // attach your created element to document
然后document.getElementByIdnewDiv将获得新创建的元素


注:existsElem.appendChildnewElem后;已执行,即使执行newElem=null;,document.getElementByIdnewDiv仍然可以获取dom。

如果将其引用设置为null,您为什么会认为可以这样做?除非您将其保存在自己的数据结构中,并使用自己的搜索工具进行搜索,否则无法找到它。这就是删除节点的基本方式。因此,不,您无法将其取回。如果将其引用设置为null,您为什么会认为您可以这样做?除非您将其保存在自己的数据结构中并使用自己的搜索工具进行搜索,否则无法找到它。这本质上就是删除节点的方式。所以不,你不能把它拿回来。