11522 sujets

JavaScript, DOM et API Web HTML5

Pages :
(reprise du message précédent)

Ca va un peu vite pour moi... Smiley confus
Je ferais mes test dés que je m'y remet voir si je me dépatouille avec ca ...
Mais si je comprends bien, sans le [0] ça fera la même chose à toutes les class qui s'appelle 'fermer-aveclick'

et si je vise precisement le 3eme 'fermer-aveclick' de mon html je met [2] ?
c'est ca ?
Modérateur
dbi a écrit :
Ca va un peu vite pour moi... Smiley confus

Ha désolé Smiley sweatdrop

dbi a écrit :
si je comprends bien, sans le [0] ça fera la même chose à toutes les class qui s'appelle 'fermer-aveclick'

Quand on utilise getElementsByClassName il retourne un tableau d'élément (par définition une class peut être réutilisée plusieurs fois dans le code). Du coup on s'en sert généralement comme on l'a fait dans le premier code pour chopper tout les éléments .fermer-aveclick. Par contre ensuite il faut faire une boucle for dessus pour parcourir tout les éléments du tableau et faire des trucs avec (nous on a rajouté un écouteur de click sur chacun des éléments).

Ici on veut sélectionner un seul élément. Donc on fait un getElementsByClassName mais on va pas faire un for pour un seul élément alors on y accède directement via [0].

dbi a écrit :
et si je vise précisément le 3eme 'fermer-aveclick' de mon html je met [2] ?
c'est ca ?
yes, mais il n'y a pas trop d’intérêt et c'est plutôt dangereux : le jour ou tu rajoute la même classe sur un élément avant, ton code Js va faire n'importe quoi.

Du coup je te suggère pour icon_menu juste de passer par un id quand c'est un élément unique (plus sur, plus rapide, plus robuste) :
<a id="menu" class="icon_menu"></a>

var menu = document.getElementById('menu');


[EDIT]
Je viens de m’apercevoir d'une coquille dans mon précédent post j'ai oublié de remplacer fermer-aveclick par icon_menu dans le code !! C'est peut etre pour ça que je t'ai mélé, je suis désolé. Je vais le corriger.
[/EDIT]
Modifié par _laurent (27 Feb 2019 - 11:05)
Modérateur
[DEL] Ooops j'ai double posté. pardon. [/DEL]
Modifié par _laurent (27 Feb 2019 - 11:05)
Pages :