Cybaer: Lösung jetzt auch für Opera

Beitrag lesen

Nachtrag:

Und statt NAME könnte man sicher z.B. auch KENNUNG verwenden, da nicht via getElementsByName, sondern direkt via getAttribute() auf ein beliebiges Attribut zugegriffen wird (nur hier eben mit dem Namen NAME).

Ich habe mal spaßeshalber statt NAME ein anderes Attribut verwendet. Und siehe da, jetzt funktioniert es auch mit Opera. Offensichtlich verhaspelt sich Operas JavaScript-Engine hier bei getAttribute und NAME. =:-o

Wenn man also im Script
  objName=obj[i].getAttribute("name","true")+" ";
ersetzt durch
  objName=obj[i].getAttribute("fold","true")+" ";
dann kann man beliebig Tabellenzeilen oder sonstige HTML-Elemente ein- & ausklappen.

Wenn der HTML-Code also z.B. so lautet
 <tr fold="TypA"><td>Zeile 1</td></tr>
 <tr fold="TypB"><td>Zeile 2</td></tr>
 <tr fold="TypB"><td>Zeile 3</td></tr>
 <tr fold="TypC"><td>Zeile 4</td></tr>
 <tr fold="TypD"><td>Zeile 5</td></tr>
würden mit
 fold("tr","Typ",(is_ie)?"block":"table-row","B","C");
die "Typen" B & C eingeklappt (also die Zeilen 2-4 werden ohne Platzhalter vesteckt), während A & D angezeigt werden.

Ab diesen Samstag wird dann die noch etwas verbesserte Routine (z.B. wird auch noch die IE-Unterscheidung zw. block & table-row entfallen) dann mit Erklärung und Online-Beispiel unter http://Coding.vampirehost.de in der DHTML-Rubrik unter dem Titel "Un-/Sichtbare Elemente" abrufbar sein ...

Gruß, Cybaer