Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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 JS:试图从对象数组中删除css类只会删除其中的一半_Javascript_Css_Arrays - Fatal编程技术网

Javascript JS:试图从对象数组中删除css类只会删除其中的一半

Javascript JS:试图从对象数组中删除css类只会删除其中的一半,javascript,css,arrays,Javascript,Css,Arrays,我的html中有几个DOM元素,类为“high”,我想获取所有元素,并从中删除该类,我已经尝试过了(我正在使用Chrome的控制台测试代码): 我希望第一个代码可以工作,但是现在第二个代码可以工作了,我不知道到底是怎么发生的,为什么会发生这种情况 解决了的 问题得到了回答,但对于那些有兴趣看到这个问题的人来说: 这的确是一个非常合理的逻辑: 让我们想象一下下面的数组 [0, 1, 2, 3] 首先删除第0个 [1, 2, 3] [1, 3] 然后,第二步删除1-st项(这里是2),这将为您

我的html中有几个DOM元素,类为“high”,我想获取所有元素,并从中删除该类,我已经尝试过了(我正在使用Chrome的控制台测试代码):

我希望第一个代码可以工作,但是现在第二个代码可以工作了,我不知道到底是怎么发生的,为什么会发生这种情况

解决了的 问题得到了回答,但对于那些有兴趣看到这个问题的人来说:


这的确是一个非常合理的逻辑:

让我们想象一下下面的数组

[0, 1, 2, 3]
首先删除第0个

[1, 2, 3]
[1, 3]
然后,第二步删除
1-st
项(这里是
2
),这将为您提供

[1, 2, 3]
[1, 3]

在这里停止,删除时不应增加索引,因为所有剩余元素都向左移动。而您只删除了一半的项目。

这确实是一个非常合理的逻辑:

让我们想象一下下面的数组

[0, 1, 2, 3]
首先删除第0个

[1, 2, 3]
[1, 3]
然后,第二步删除
1-st
项(这里是
2
),这将为您提供

[1, 2, 3]
[1, 3]

在这里停止,删除时不应增加索引,因为所有剩余元素都向左移动。并且您只删除了一半的项目。

文档。GetElementsByCassName
返回一个实时HTML集合,当您迭代该集合并更改其中一些时,可能会导致问题

改用
document.querySelectorAll('.high')
。它返回一个静态节点列表,您就不会有这个问题


.

document.GetElementsByCassName
返回一个实时HTML集合,当您迭代该集合并更改其中一些集合时,该集合可能会导致问题

改用
document.querySelectorAll('.high')
。它返回一个静态节点列表,您就不会有这个问题


.

这太令人困惑了。第二个是不是跑掉了(无限循环)?因为返回的是一个活动的,因此“当底层文档被更改时,它会自动更新。”这是相当令人困惑的。第二个不是跑掉了吗(无限循环)?因为返回的是一个活动的,因此“当底层文档被更改时,它会自动更新。”我不知道是这样的,你帮我避免了很多混乱和谷歌搜索!我不知道是这样的,你把我从混乱和谷歌搜索中拯救了出来!