Javascript 为什么';t`forEach.call`通过类删除迭代每个节点?;
我正在删除Javascript 为什么';t`forEach.call`通过类删除迭代每个节点?;,javascript,Javascript,我正在删除forEach.call中的一个类。由于某些原因,它只调用一次,如下所示 var all\u active=document.getElementsByClassName(“active”) Array.prototype.forEach.call(全部激活,函数(el){ el.类列表。删除(“活动”); console.log(el.tagName); }); 123 1. 1. 1. 1. 1. 1. A是一个活动的元素集合。从第一个元素中删除类时,集合的长度也会减少。因此,
forEach.call中的一个类。由于某些原因,它只调用一次,如下所示
var all\u active=document.getElementsByClassName(“active”)
Array.prototype.forEach.call(全部激活,函数(el){
el.类列表。删除(“活动”);
console.log(el.tagName);
});代码>
123
1.
1.
1.
1.
1.
1.
A是一个活动的元素集合。从第一个元素中删除类时,集合的长度也会减少。因此,forEach()
将结束,因为它已经处理了正确数量的元素
ASCII说明可能有助于:
# On first iteration: # After first iteration:
┌───────────┬──────────┐ ┌──────────┬──────────┐
│ NodeList │ Iterator │ │ NodeList │ Iterator │
├───────────┼──────────┤ ├──────────┼──────────┤
│ li.active │ <── │ │ a.active │ │
├───────────┼──────────┤ ├──────────┼──────────┤
│ a.active │ │ │ │ <─ │
└───────────┴──────────┘ └──────────┴──────────┘
123
1.
1.
1.
1.
1.
1.
可能是因为您之前删除了它,所以此时元素/元素标记名未定义。请更详细地解释您的期望,或问题所在。看到和