Hi,
wozu mich Cybear erst unlängst wieder ermahnt hat
Wer? Anglizismus! =;-o
(immer schön erst die Methoden und Eigenschaften abfragen, bevor man darauf zurückgreift).
Na ja, *immer* mache ich das auch nicht. =;-)
Aber bestimmt findet der wieder was, was man besser machen sollte!
Hmm, so ist es. :-o
[code]
[code lang=html] ;-)
<script type="text/javascript" language="JavaScript">
Es kann nicht schaden, das Script mit "<!--" auszukommentieren. ;-)
OK, jetzt aber ernsthaft:
dynamic = false;
Das globale dynamic ist falsch ermittelt. Eigentlich ist es auch überflüssig. Denn ...
if(document.getElementById && document.getElementsByTagName) {
dynamic = true;
... Du ermittelst damit nur, daß getElement.../all existiert.
Was Du aber wissen mußt, ist, ...
for (i=0; i<grupos.length; i++ ) {
grupos[i].className='hide';
... ob die Eigenschaft className existiert. Dummerweise gibt es aber den Fall, daß ein Browser ersteres kennt, letzteres aber nicht! =:-o
Ergo: dynamic raus und obige Schleife z.B. umklammern mit
if(grupos[0] && typeof(grupos[0].className)!="undefined") {
Analog kann man in einaus() statt ...
if(dynamic) {
... auch gleich
if(typeof(document.getElementsByTagName("body")[0].className)!="undefined") {
schreiben. Dann hat man eine globale Variable weniger und die Funktion ist auch noch "stand-alone".
Und wenn man schon dabei ist, dann kann man auch gleich noch abfragen, ob parentNode überhaupt existiert (bzw. der Node/die Nodes selbst), was dann ergibt:
if(was && typeof(was.className)!="undefined" && was.parentNode && was.parentNode.parentNode) {
</script>
Der Vollständigkeit halber: Falls man auskommentiert, kommt hiervor natürlich noch ein "//-->". ;-)
Gruß, Cybaer
PS: Wer es *ganz* sauber machen will (also auch für Uralt-Browser), der muß jetzt allerdings das Script auslagern (typeof() existiert erst ab JS 1.1).
Aber der nimmt statt ohnehin   ... ;-)
--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!