Kai345: mehrere div container mit gleich beginnender id ansprechen

Beitrag lesen

[latex]Mae  govannen![/latex]

getElementsByClassName() ist in den neuen Browsern nativ implementiert, ansonsten gibt es im Netz viele fertige Nachbildungen, z.B.

das hört sich gut an :-)
und das kann ich dann z.b. so umsetzen?:
<a onclick="document.getElementsByClassName(intro).style.visibility='hidden';">

Nein. getElementsByClassName gibt eine NodeList (bzw. in der von mir geposteten Nachbildung ein Array) zurück. getElement_s_, also Mehrzahl.

Das heißt, diese Elemente müssen dann noch selektiert werde, d.h. entweder für ein bestimmtes Element über einen Index z.B. document.getElementsByClassName("intro")[0] für das erste Element oder in einer (for/while)-Schleife abgearbeitet werden, wenn alle Elemente betroffen sind. Daher solltest du das Javascript auch aus dem onclick-Attribut rausnehmen  und in einem Script-Block als Funktion notieren, im onclick-Attribut steht dann nur noch der Funktiona-Name.

Beispiel:

function chgVisi (clas, vis) {  
  // hier ggf. Überprüfung auf sinnvolle Typen/Werte von clas und vis  
  var els = getElementsByClassName(clas),  
      l = els.length,  
      i,  
      els;  
  for (i = 0; el = els[i]; i++) {  
    el.style.visibility = vis;  
  }  
}

<a ... onclick="chgVisi('intro', 'hidden')">

ungetestet.

Cü,

Kai

--
Hard to believe that anyone would use Prototype.js at this
point. It was a bad idea in 2006 and it hasn't gotten any better with age. (David Mark)
Foren-Stylesheet Site Selfzeugs
SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?