Bonjour,

J'ai constaté un fonctionnement qui me surprend et dont je ne comprends pas pourquoi il se produit.

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');
		}
Avec le code ci-dessus, par exemple, si liste_nomenclature_button contient 6 éléments
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');
		}