Christoph: div's zählen

Hallo,

ich habe momentan eine Seite, wo man dropdown-mäßig den Inhalt per onclick ein- und ausblenden kann.

Jetzt durchläuft die Javascript-Schleife alle 3 div's, aber ich möchte den Wert in der Schleife dynamisch haben. Weil auf der nächsten Seite sind es dann 16 und auf der übernächsten Seite 12 usw. Und ich möchte nicht jedes Mal die Javascript-Schleife für jede einzelne Seite anpassen.

function showhide(wer)
{
 for(var i=1;i<4;i++)
 {
  var box=document.getElementById('selectBoxOptions'+i).style;
  box.visibility=wer==i?(box.visibility=="hidden"||box.visibility==""?'visible':'hidden'):'hidden';
 }
}

so sieht die Schleife momentan aus und die div's so:

<div id="selectBox1" onclick="showhide(1);event.cancelBubble=true">
 <div id="selectBoxOptions1" class="selectBoxOptionContainer">
 text...
 </div>
</div>

<div id="selectBox2" onclick="showhide(2);event.cancelBubble=true">
 <div id="selectBoxOptions2" class="selectBoxOptionContainer">
 text..
 </div>
</div>

<div id="selectBox3" onclick="showhide(3);event.cancelBubble=true">
 <div id="selectBoxOptions3" class="selectBoxOptionContainer">
 asasa
 </div>
</div>

...

Wenn ich jetzt aber
<div id="selectBox14" onclick="showhide(14);event.cancelBubble=true">
<div id="selectBoxOptions14" class="selectBoxOptionContainer">
sdas
</div>
</div>
habe, müsste ich in der Schleife ja folglich schreiben: for(var i=1;i<15;i++) und das würde ich gerne dynamisch lösen. Nicht, dass ich immer die Zahl da eintragen muss.

Wie müsste ich vorgehen?

Grüße

Christoph

  1. Hello out there!

    Wie müsste ich vorgehen?

    1. Als erstes die Divitis auskurieren. Warum verwendest du 'div' und 'div' statt 'select' und 'option'?

    2. Dann http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName() und length verwenden.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
    1. Hi

      1. Dann http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name@title=getElementsByTagName() und length verwenden.

      Das hat schon einen besonderen Grund, im div selber sind ja noch ganz andere Sachen enthalten, mit denen mir ein Select-Feld absolut nicht dienen kann, deswegen hab ich mein eigenes geschrieben, eine Art Combobox. Nunja.
      Sonst wüsste ich eigentlich auch, wie ich das lösen müsste, aber so weiß ich es nicht :/

      Christoph