For循环运行一次,2/3(javascript)

For循环运行一次,2/3(javascript),javascript,jquery,html,function,for-loop,Javascript,Jquery,Html,Function,For Loop,我将警报放在那里,以查看函数运行的部分,最后的警报“for循环运行1,erased 1”不会发出警报,for循环不会再次运行。我已经看过了,没有发现类似的问题。有人知道我做错了什么吗?如果有必要,我会发布我所有的代码。谢谢 我通过将可见性设置为hidden而不是background设置为white,并使用jquery的attr()函数而不是我所拥有的函数设置新div的类,解决了我的问题。它现在工作得很好,感谢所有的输入 您遇到的问题是,您试图在CSS中设置每个绘制对象的类。正在更改此项的对修复的

我将警报放在那里,以查看函数运行的部分,最后的警报“for循环运行1,erased 1”不会发出警报,for循环不会再次运行。我已经看过了,没有发现类似的问题。有人知道我做错了什么吗?如果有必要,我会发布我所有的代码。谢谢

我通过将可见性设置为hidden而不是background设置为white,并使用jquery的attr()函数而不是我所拥有的函数设置新div的类,解决了我的问题。它现在工作得很好,感谢所有的输入

您遇到的问题是,您试图在CSS中设置每个绘制对象的类。正在更改此项的对修复的更改:

co[i].style.backgroundColor = "#FFFFFF";
var div=$('').css({
“类”:“可清除”
});
为此:

var div = $('<div>').css({
    'class': 'clearable'
});
var div=$('').css({
...
}).addClass(“可清除”);
您还可以使用
co[i].parentNode.removeChild(co[i])
轻松删除元素,而无需更改背景颜色(释放内存)。在我的示例中,我颠倒了循环的方向,因为您正在处理删除元素的问题(这会将数组向后移动一个元素,导致您每次向前移动时都跳过一项)


查看我的代码笔:

您是否在浏览器控制台中遇到错误?这可能不是您的选项,但使用jQuery(您已标记)您只需执行
$('.clearable').css('background-color','#FFFFFF')并且它将在一行中完成整个函数。虽然您没有在这里显示它,但是您正在更改类吗?如果要删除
“clearable”
类,那么集合将自动更新并重新编制索引。其他浏览器也有类似的工具。我做了
document.getElementsByClassName('clearable')
,但没有得到任何结果。您将“class”作为CSS属性设置为“clearable”,这是不对的。您提出了一个关于a循环的不同问题,人们只是简单地回答了您提出的问题。您找到的解决方案针对的是另一个问题。下面的答案确实起到了预期的作用,但是,否决它是很糟糕的……我问的是为什么它失败了,而不是循环出了什么问题。我在他们的帮助下解决了这个问题…你在说什么???
var div = $('<div>').css({
    'class': 'clearable'
});
var div = $('<div>').css({
    ...
}).addClass('clearable');