【发布时间】:2018-12-16 01:38:51
【问题描述】:
由于现在可以在 NodeList 上调用 forEach 数组方法。我想知道为什么如果您在使用forEach 循环时更改childNodes NodeList 的内容,forEach 不会检测到更改。
grid.childNodes.forEach(function(tableRow, index, nodeList) {
tableRow.remove();
});
在这里,我试图遍历我的表(网格)元素子元素并从表中删除每个子元素(tableRow)。但是,forEach 永远不会完全循环每个元素,总是将最后一个 tableRow 遗漏为removed我认为这与 childNodes NodeList 处于活动状态有关,并且 forEach 无法正确遵循它或某物。
【问题讨论】:
-
你的相关 html 是什么?
grid的选择器是什么? -
@DavidThomas
const grid = document.querySelector("table"); -
你知道你可以做
grid.innerHTML = "",对吧? -
我猜测部分问题是元素子元素
parentNode.children的数量不等于parentNode.childNodes的数量。
标签: javascript dom foreach child-nodes