Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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 Does remove()从由';querySelectorAll';?_Javascript - Fatal编程技术网

Javascript Does remove()从由';querySelectorAll';?

Javascript Does remove()从由';querySelectorAll';?,javascript,Javascript,我是编程新手,很难理解Javascript中的以下内容: 我的代码: let nodeList = document.getElementById('ID').querySelectorAll('img'); for (i=0; i < nodeList.length; i++) { nodeList[i].remove(); } let nodeList=document.getElementById('ID').querySelectorAll('im

我是编程新手,很难理解Javascript中的以下内容:

我的代码:

let nodeList = document.getElementById('ID').querySelectorAll('img');
    for (i=0; i < nodeList.length; i++) {
        nodeList[i].remove();
    }
let nodeList=document.getElementById('ID').querySelectorAll('img');
对于(i=0;i
这段代码将从我的HTML中删除所有引用的“img”元素,但不会从我的“nodeList”中删除任何元素

为什么remove()只从HTML中删除而不删除“nodeList”元素?有没有办法从显示中删除元素&从nodeList中删除


谢谢

这是因为
querySelectorAll()
返回元素的静态列表。这意味着列表将保留对元素的引用,即使它已被删除。它在被分配后不会改变

文档方法
querySelectorAll()
返回一个静态(非活动)节点列表,表示与指定选择器组匹配的文档元素列表

另一方面,如果您想要实时收集,可以使用
document.getElementsByTagName()
document.getElementsByClassName()

constdivs=document.getElementsByTagName('div');
divs[1]。删除();
console.log(divs)
嘿
H

B
从DOM上存在的节点获取
节点列表。
然后将其从DOM中删除。如果您现在运行相同的查询,您将得到一个没有这些节点的新列表。

正如这里所解释的,您不能直接从NodeList中删除元素

您正在使用的函数-

remove()
正在使用DOM,并直接从中删除元素。 如果还想从nodeList数组中删除,则需要使用 func 最终的代码看起来像-

let nodeList = document.getElementById('ID').querySelectorAll('img');
for (i=0; i < nodeList.length; i++) {
    nodeList[i].remove();
    nodeList.splice(i,1)
}
let nodeList=document.getElementById('ID').querySelectorAll('img');
对于(i=0;i
没有
拼接方法。您必须首先将其转换为数组。