Je suis un débutant en Javascript.
Je suis en train de visiter la page web via le window.onload
je dois trouver un groupe d'éléments par leur nom de classe ( slide
) et les redistribuer dans différents nœuds en fonction d'une certaine logique. J'ai la fonction Distribute(element)
qui prend un élément en entrée et effectue la distribution. Je veux faire quelque chose comme ceci (comme indiqué par exemple) aquí o aquí ):
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 un tableau, mais un NodeList
qui est...
...c'est ma spéculation...
...en étant changé de fonction intérieure Distribute
(l'arbre DOM est modifié dans cette fonction, et le clonage de certains nœuds se produit). For-each
La structure en boucle n'aide pas non plus.
La variable slides agit de manière vraiment indéterminée, à chaque itération, elle change sauvagement de longueur et d'ordre des éléments.
Quelle est la manière correcte d'itérer à travers NodeList dans mon cas ? Je pensais remplir un tableau temporaire, mais je ne suis pas sûr de la façon de le faire...
EDIT :
fait important que j'ai oublié de mentionner est qu'il peut y avoir une diapositive à l'intérieur d'une autre, c'est en fait ce qui change le slides
variable comme je viens de le découvrir grâce à l'utilisateur Alohci .
La solution pour moi a été de cloner chaque élément dans un tableau d'abord et de passer le tableau un par un dans Distribute()
après.