Я новичок в Javascript.
Я открываю веб-страницу через window.onload, мне нужно найти группу элементов по имени их класса ( slide) и перераспределить их в разные узлы на основе некоторой логики. У меня есть функция, Distribute(element)которая принимает элемент в качестве входных данных и выполняет распределение. Я хочу сделать что-то вроде этого (как указано, например, здесь или здесь ):
var slides = getElementsByClassName("slide");
for(var i = 0; i < slides.length; i++)
{
Distribute(slides[i]);
}
однако это не делает для меня волшебства, потому getElementsByClassNameчто на самом деле возвращает не массив, а a NodeList, который ...
... это мои предположения ...
... изменяется внутри функции Distribute(дерево DOM изменяется внутри этой функции, и происходит клонирование определенных узлов). For-eachструктура петли тоже не помогает.
Переменные слайды действуют действительно недетерминированно, на каждой итерации они дико меняют длину и порядок элементов.
Как правильно перебирать NodeList в моем случае? Я думал о заполнении временного массива, но не знаю, как это сделать ...
РЕДАКТИРОВАТЬ:
Важный факт, который я забыл упомянуть, - это то, что один слайд может быть внутри другого, это на самом деле то, что меняет slidesпеременную, как я только что узнал благодаря пользователю Alohci .
Решение для меня заключалось в том, чтобы сначала клонировать каждый элемент в массив, а затем передавать массив по очереди Distribute().

