Je suis débutant en Javascript.
J'ouvre la page Web via le window.onload
, je dois trouver un tas d'éléments par leur nom de classe ( slide
) et les redistribuer dans différents nœuds en fonction d'une logique. J'ai une fonction Distribute(element)
qui prend un élément comme entrée et fait la distribution. Je veux faire quelque chose comme ça (comme indiqué par exemple ici ou ici ):
var slides = getElementsByClassName("slide");
for(var i = 0; i < slides.length; i++)
{
Distribute(slides[i]);
}
cependant cela ne fait pas la magie pour moi, car getElementsByClassName
ne renvoie pas réellement de tableau, mais un NodeList
, qui est ...
... c'est ma spéculation ...
... en cours de modification à l'intérieur de la fonction Distribute
(l'arborescence DOM est modifiée à l'intérieur de cette fonction et le clonage de certains nœuds se produit). For-each
la structure en boucle n'aide pas non plus.
Les diapositives variables agissent de manière vraiment non déterministe, à chaque itération, elles changent énormément la longueur et l'ordre des éléments.
Quelle est la bonne façon d'itérer dans NodeList dans mon cas? Je pensais remplir un tableau temporaire, mais je ne sais pas comment faire cela ...
ÉDITER:
fait important que j'ai oublié de mentionner est qu'il pourrait y avoir une diapositive dans une autre, c'est en fait ce qui change la slides
variable comme je viens de le découvrir grâce à l'utilisateur Alohci .
La solution pour moi était de cloner chaque élément dans un tableau d' abord et passer le tableau ono par un dans la Distribute()
suite.