【发布时间】:2021-08-09 09:40:15
【问题描述】:
这是一个 DOM 元素数组,我想删除所有具有特定类的元素,在本例中为“已检查项”。我也想改变原始数组,所以我认为过滤方法是不可能的。
taskArr = [some DOM Elements]
taskArr.forEach(function (task) {
if (task.children[1].className.includes("checked-Item")) {
taskArr.splice(taskArr.indexOf(task), 1);
}
});
【问题讨论】:
-
为什么要对原始数组进行变异?
-
您的代码看起来应该可以工作。什么不起作用?
-
它删除了一些元素,但不是全部。我不知道为什么@zhokya
-
@Usman-FE 你能提供一个minimal reproducible example吗? It seems to work fine for me.
-
@Ivar 将类添加到连续元素中,但它不起作用。
splice将打破 for 循环。
标签: javascript arrays foreach