Javascript持久化变量,用于在删除节点后存储这些节点
我在JavaScript中遇到了一个非常简单的问题(但我不确定能否解决)。我有一个变量,在其中存储具有特定类的节点。我要做的是从DOM中删除这些节点,但将它们保留在变量中。但是,由于变量显然存储引用,一旦删除这些节点,变量将变为空 下面是一个代码示例:Javascript持久化变量,用于在删除节点后存储这些节点,javascript,Javascript,我在JavaScript中遇到了一个非常简单的问题(但我不确定能否解决)。我有一个变量,在其中存储具有特定类的节点。我要做的是从DOM中删除这些节点,但将它们保留在变量中。但是,由于变量显然存储引用,一旦删除这些节点,变量将变为空 下面是一个代码示例: const modules = document.getElementsByClassName("drag-container"); var parent = document.getElementsByClassName("drag-conta
const modules = document.getElementsByClassName("drag-container");
var parent = document.getElementsByClassName("drag-container")[0].parentElement;
while (parent.firstChild) {
parent.removeChild(parent.lastChild);
}
//here the modules variable is empty
删除节点后是否可以维护modules变量?问题是
getElementsByClassName
返回一个HTMLCollection
,这是活动的,因此如果删除节点,它们也会从该集合中删除。您可以将该集合克隆到阵列中,但:
const modules = Array.from(/*HTMLCollection here */);
您可以使用新的扩展语法克隆HTMLCollection数组(模块)
const copiedModules = [... modules];
我希望这能有所帮助。简单实用的回答,谢谢。我哪儿也没找到这个。