所以我想删除 iframe 的 SVG,这是我的代码:
var parent = document.querySelectorAll("#main");
var child = parent[0].childNodes;
var lengthOfNodes = child.length;
for (var j = 0; j < lengthOfNodes; j++) {
child[j].parentNode.removeChild(child[j]);
}
child
是我的 svg 元素的数组。
它有效,但有时这个算法会让我“无法读取未定义的属性'parentNode'”,我不知道为什么......我需要重新启动这个算法才能让它工作。
最佳答案
这样就很容易删除正在迭代的元素 并利用refrences
var parent = document.querySelectorAll("#main");
var child = parent[0].childNodes;
child.forEach(c => c.remove());
或者如果你想在将来某个地方打破循环,那么 ForEach 循环将无济于事
var parent = document.querySelectorAll("#main");
var child = parent[0].childNodes;
for(var c of child){
//can get out of loop anytime
c.remove();
}
关于javascript - 为什么我的代码抛出 "Cannot read property ' ParentNode' of undefined”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57055077/