hansjo: getElementById

Beitrag lesen

Hallo zusammen,

ich habe eine Liste mit variabler Anzahl von div-Elementen mit durchnummerierten ID's

<div ID="id_0">Text1</div>  
<div ID="id_1">Text2</div>  
...

Nun möchte ich der Reihe nach auf alle Elemente zugreifen um die Display-Eigenschaft zu ändern (e.style.display = "none")

Nachdem ich nicht darauf komme wie ich die ID's herausfinden kann (und auch nix finde) habe ich mir folgende script überlegt

function closeDetails() {  
 for (i = 0; i < 50; i++) {  
  var id = 'id_' + i;  // id = 'id_2';  
  var e = document.getElementById(id);  
  if (e.style.display == "block")  
   e.style.display = "none";  
 }  
 return false;  
}

Leider funktioniert es an einer Stelle nicht und mir ist nicht klar warum? das 'getElementById' geht mit der zusammengebauten id nicht. Wenn ich aber zum Test die => id='id_2'; setze funktioniert es (für id_2 :-)

Frage:

  • was mache ich falsch - wie komme ich zum gewünschten Ergebnis?
  • gibt es eine gute Möglichkeit alle vorhandenen ID's herauszufinden und zu durchlaufen?

Vielen Dank für kompetenten Rat!
(dass ich ein JS-Anfänger bin geht vermutlich aus meiner Frage hervor und ich kann hoffentlich mit der gebotenen Rücksicht und Anteilnahme rechnen ;-)