最佳答案
我是 Javascript 初学者。
我正在通过 window.onload
初始化网页,我必须找到他们的类名称(slide
)的一串元素,并根据一些逻辑将它们重新分配到不同的节点。我有一个函数 Distribute(element)
,它接受一个元素作为输入并进行分布。我想做一些类似的事情(例如 给你或 给你) :
var slides = getElementsByClassName("slide");
for(var i = 0; i < slides.length; i++)
{
Distribute(slides[i]);
}
然而这对我来说并没有魔力,因为 getElementsByClassName
实际上并不返回数组,而是返回一个 NodeList
,它是..。
这是我的推测。
... 在函数 Distribute
中被更改(DOM 树在该函数中被更改,并发生某些节点的克隆)。For-each
循环结构也不起作用。
变量幻灯片的行为真的是不确定的,通过每次迭代,它改变它的长度和元素的顺序疯狂。
在我的例子中,循环访问 NodeList 的正确方法是什么?我在考虑填充一些临时数组,但不知道如何做到这一点..。
我忘记提到的一个重要事实是,可能有一张幻灯片在另一张幻灯片中,这实际上是什么改变了 slides
变量,因为我刚刚发现感谢用户 你好。
我的解决方案是首先将每个元素克隆到一个数组中,然后将数组一个一个地传递到 Distribute()
中。