toggleswitch function Fehlermedlung im IE 8

uwej72

Mitglied
Hallo ich bekomme bei dem folgenden JS Code immer eine fehlermeldung im IE 8

Code:
function toggleswitch(div)
{
var option=['div01','div02','div03','div04','div05','div06'];
for(var i=0; i<option.length; i++)
{ obj=document.getElementById(option[i]);
obj.style.display=(option[i]==div) && !(obj.style.display=="block")? "block" : "none"; }
}

Fehlermeldung:

Die Webseite enthält Fehler.....
objekt erforderlich
toggle_me.js

Ich kann leider den Fehler nicht finden.

Kann mir jemand helfen?
 
Hallo erstmal vielen Dank für Deine Antwort, aber welche Klammer meinst Du?

Ich habe es mit mehreren veruscht, aber dann funktioniert die Funktion nicht mehr!

Ich glaube das war es nicht!
 
Korrigiert:
Javascript:
function toggleswitch(div)
{
var option=['div01','div02','div03','div04','div05','div06'];
for(var i=0; i<option.length; i++)
{ obj=document.getElementById(option[i]);
obj.style.display=(option[i]==div) && !(obj.style.display=="block")? "block" : "none"; }
}
}
Kannst du mal die Fehlermeldungen von anderen Browsern posten?

Ich habe mal die Bedingungsabfrage länger gestaltet:
Javascript:
function toggleswitch(div)
{
  var option=new Array('div01','div02','div03','div04','div05','div06');
  for(var i=0; i<option.length; i++)
  {
    obj=document.getElementById(option[i]);
    if (option[i]==div && obj.style.display!="block")
      obj.style.display = "block";
    else
      obj.style.display = "none";
  }
}
 
Zuletzt bearbeitet:
@ComFreek: Dann gäbe es wohl eher einen Syntaxfehler und ich zähle dort je zwei öffnende und zwei schließende Klammern.

@uwej72
Vielleicht sollte du die Variable "obj" erstmal mit dem Schlüsselwort "var" vereinbaren, bevor du sie verwendest.
 
Hi, tausend Dank für Eure Hilfe.

Die verlängerte Version ergibt keine Fehlermedlung mehr im IE8.

Alle anderen haben auch die Versionen vorher geschluckt!

Die korrigierte Version oben ergibt einen Syntaxfehler******!

Aber jetzt gehts!!
Nochmals vielen Dank!
#
#
Komando zurück******!

Es funktioniert wirklich nur wenn ich wirklich 6 divs einbaue!
Bei weniger bekomme ich die Fehlermeldung im IE, abe nur im IE!

Kann mir jemand dabei helfen?
 
Zuletzt bearbeitet:
Dann bau doch eine Überprüfung mit ein:
Javascript:
obj=document.getElementById(option[i]);
if (!obj)
  break;
Somit wird die Schleife abgebrochen, sobald ein entsprechendes DIV nicht mehr existiert.
 
Zurück