[RESOLU][Javascript]Boucle sur des noms de variables à incrémenter

Bonjour,

J’ai un certain nombre de div que je veux pouvoir cacher avec un nom.style.display = "none"
Ces divs ont un nom incrémenté du style nom1, nom2, etc.

Existe-t-il un moyen de faire une boucle qui parcoure tous ces noms de div ?Un peu comme en php avec ${nom.$i} ou $i s’incrémente.

Je précise que je suis un super débutant en javascript, donc pas taper si mon raisonnement est stupide, merci. B)

Dric, je te conseillerais de faire un truc du genre :

for (i = 1; i < maLimite; i++) { obj = document.getElementById("monDiv" + i); if (obj) { obj.style.display = "none"; } }

Ceci suppose que tes DIV dispose de l’attribut ID avec le nom incrémenté, comme par exemple :
<div … id=“monDiv1”> …
<div … id=“monDiv2”> …

Ah oui, c’est carrément simple en fait. Mais j’aurais jamais trouvé tout seul…

C’est parfait, mon problème est résolu. Merci pour ton aide.

Pas de souci.
Je te conseille Prototype comme librairie JS. Très utile.
Documentation de la bête.

Par exemple, avec Prototype, tu peux faire :

for (i = 1; i < maLimite; i++) { obj = $("monDiv" + i); if (obj) { obj.style.display = "none"; } }

Bon, ça raccourcit pas beaucoup, mais c’est déjà un truc de moins à écrire. Et puis il y a plein de trucs intéressants dans cette librairie.

Pfff tu sers VRAIMENT à rien rorotaz B)

/me précise qu’il y a du second degré là dedans.

[mode troll of]

Et si tu ne sais pas combien tu as d’éléments mais que tu es sûr qu’ils forment bien une suite continue de 1 à n (1) :var i = 1; while (document.getElementById("nom"+i)) { document.getElementById("nom"+i).style.display="none"; i = i+1; }
Et la fonction dollar est ton amie. Pas comme les 40 Ko de Prototype. B)

(1) désolé je sais plus comment on dit en maths

ah oui, encore plus simple.

rorotaz -> Merci pour la doc, j’avais regardé prototype pour bidouiller de l’Ajax mais la doc fournie m’avait semblée trop opaque pour moi…

[quote=“Moe, post:6, topic: 30629”]Et la fonction dollar est ton amie. Pas comme les 40 Ko de Prototype. B)

(1) désolé je sais plus comment on dit en maths[/quote]

Certes, mais Prototype ne contient pas que “$” B)
Y a quelques fonctions très utiles, il suffit de regarder la doc que j’avais linkée.