Bonjour à tous. J'ai un petit problème de Javascript et je suppose que cela a à voir avec les closures (j'ai lu quelques trucs dessus, mais j'avoue ne pas avoir tout compris).
J'ai une liste de lien comme ça:
Code :
- <ul><li>
- <h3>general</h3>
- <ul id="general">
- <li><a href="http://developer.mozilla.org/fr/docs/accueil">mdc - accueil</a></li>
- <li><a href="http://developer.mozilla.org/">mdc - main page</a></li>
- <li><a href="http://www.alsacreations.com/articles/">alsacréations</a></li>
- <li><a href="http://www.devguru.com/home.asp">devguru home</a></li>
- <li><a href="http://openweb.eu.org/xhtml/">openweb.eu.org - le xhtml</a></li>
- <li><a href="http://www.thinkvitamin.com/">vitamin - a resource for web developers, designers and entrepreneurs</a></li>
- <li><a href="http://www.w3schools.com/">w3schools</a></li>
- </ul>
- </li>
- <li>
- <h3>css</h3>
- <ul id="css">
- <li><a href="http://colormixers.com/mixers/cmr/">colormixers</a></li>
- <li><a href="http://www.ilovejackdaniels.com/css/">css - ilovejackdaniels.com</a></li>
- <li><a href="http://www.satzansatz.de/cssd/onhavinglayout.html">on having layout - the concept of haslayout in ie/win</a></li>
- <li><a href="http://pompage.net/pompe/csspratique/">pompage - techniques et astuces pratiques pour une mise en page css</a></li>
- <li><a href="http://typetester.maratz.com/">typetester - compare fonts for the screen</a></li>
- <li>
- <h4>lists</h4>
- <ul id="list">
- <li><a href="http://css.maxdesign.com.au/listamatic/">listamatic</a></li>
- <li><a href="http://developer.mozilla.org/fr/docs/indentation_homog%c3%a8ne_des_listes">mdc - indentation homogène des listes</a></li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
|
Le but est de pouvoir les plier/déplier en cliquant sur le titre de la rubrique (h3 ou h4)
j'ai donc la portion de code suivante :
Code :
- function folderize() {
- var els = new Array('h3', 'h4');
- for (var i=0, len=els.length; i<len; i++) {
- var elm = document.getElementsByTagName(els[i]);
- for (var j=0, lengh=elm.length; j<lengh; j++) {
- var n = elm[j].innerHTML;
- elm[j].addEventListener('click', function() {
- alert(n);
- }, false);
- }
- }
- }
- window.onload = folderize;
|
Pour l'instant, j'aimerais afficher le nom de la rubrique en cliquant dessus. Seulement, à chaque fois, c'est le nom de la toute dernière rubrique qui s'affiche.
Quelqu'un pourrait il me donner des explications ?
Merci d'avance