• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

document.getElementById(leftId) is null

T!P-TOP

Mitglied
Hi

Ich generiere zuerst eine zufallszahl:

PHP:
var randomnumber = Math.floor(Math.random()*4);
if (randomnumber == 0) randomnumber++;

Wenn die Zufallszahl 0 beträgt, zähle ich sie um eins hoch.

Als nächstes wandle ich die Zahl in einen String um und verkette ihn mit "left":
PHP:
var leftId = "left" + randomnumber.toString();

Nun möchte ich das Element mit dieser, per Zufall, generierten Id ansprechen - funktioniert nicht (document.getElementById(leftId) is null):
PHP:
document.getElementById(leftId).style.display = "block";

Die Variable leftId habe ich bereits ausgegeben - Ergebnis ist immer left+eineZahlVon1-3 (die Id wird also richtig generiert). Ich habe auch 3 Images, die folgende Ids belegen:

HTML:
<img alt="mcFree" src="1.gif" id="left1" width="100px" height="320px" />
<img alt="mcFree" src="2.gif" id="left2" width="100px" height="320px" />
<img alt="mcFree" src="3.gif" id="left3" width="100px" height="320px" />

Jemand ne Idee?

Grüße
 
lässt du den JS-Code gleich beim Seitenaufruf interpretieren, also

HTML:
<!DOCTYPE html>
<html>
 <head>
  <script>
   var randomnumber etc...
  </script>
 </head>
 <body>
  html
 </body>
</html>



oder erst nach dem Laden der gesamten Seite, also zb.

HTML:
<!DOCTYPE html>
<html>
 <head>
  <script>
   window.onload = function()
   {
     var randomnumber etc...
   }
  </script>
 </head>
 <body>
  html
 </body>
</html>

bzw.

HTML:
<!DOCTYPE html>
<html>
 <head>
  <script>
   setId()
   {
     var randomnumber etc...
   }
  </script>
 </head>
 <body onload="setId()">
  html
 </body>
</html>


Wenn du die erste Variante gewählt hast, dann kann es sein, dass die drei img-Tags noch nicht geladen wurden und damit getElementById(leftId) == null
 
Zurück
Oben