Bonjour,
J'ai constaté un fonctionnement qui me surprend et dont je ne comprends pas pourquoi il se produit.
Avec le code ci-dessus, par exemple, si liste_nomenclature_button contient 6 éléments
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var liste_nomenclature_button = document.getElementsByClassName('arrow_bottom'); for(i=0; i < liste_nomenclature_button.length; i++) { liste_nomenclature_button[i].classList.add('arrow_left'); liste_nomenclature_button[i].classList.remove('arrow_bottom'); }
On fait d'abord add sur liste_nomenclature_button[0]
liste_nomenclature_button ne contient alors plus que 5 éléments !?!?!?!?
Ces éléments sont renumérotés de 0 à 4 dans liste_nomenclature_button
le remove se fait alors sur liste_nomenclature_button[0], qui était en fait le liste_nomenclature_button[1] d'avant
Il y a donc un décalage.
Une explication ?
En faisant deux boucles successives, les opérations se font correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 for(i=0; i < liste_nomenclature_button.length; i++) { liste_nomenclature_button[i].classList.add('arrow_left'); } for(i=0; i < liste_nomenclature_button.length; i++) { liste_nomenclature_button[i].classList.remove('arrow_bottom'); }
Partager