Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript持久化变量,用于在删除节点后存储这些节点_Javascript - Fatal编程技术网

Javascript持久化变量,用于在删除节点后存储这些节点

Javascript持久化变量,用于在删除节点后存储这些节点,javascript,Javascript,我在JavaScript中遇到了一个非常简单的问题(但我不确定能否解决)。我有一个变量,在其中存储具有特定类的节点。我要做的是从DOM中删除这些节点,但将它们保留在变量中。但是,由于变量显然存储引用,一旦删除这些节点,变量将变为空 下面是一个代码示例: const modules = document.getElementsByClassName("drag-container"); var parent = document.getElementsByClassName("drag-conta

我在JavaScript中遇到了一个非常简单的问题(但我不确定能否解决)。我有一个变量,在其中存储具有特定类的节点。我要做的是从DOM中删除这些节点,但将它们保留在变量中。但是,由于变量显然存储引用,一旦删除这些节点,变量将变为空

下面是一个代码示例:

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];

我希望这能有所帮助。

简单实用的回答,谢谢。我哪儿也没找到这个。