2011-01-05 17 views
2

Beim Ausführen dieses Skripts bekomme ich eine Fehlermeldung, dass document.GetElementById keine Funktion ist ?? http://www.fritidsjobbere.dk: - Sie können die Website sehenGetElementById ist keine Funktion?

//Show random div with Javascript 
antal = 6; 
var randomnumber=Math.floor(Math.random()*antal); 
if(randomnumber == "0") { 
randomnumber = 1; 
} 
//alert(randomnumber); 
document.getElementsById("partner-ad"+randomnumber).style.display = 'block'; 

Antwort

13

getElementsById ->getElementById

2

Es ist singulär (IDs sind einzigartig, es nur ein Ergebnis zurückgeben sollte), document.getElementById wie folgt aus:

document.getElementById("partner-ad"+randomnumber).style.display = 'block'; 

Auch Ihre tatsächlichen Code auf der Website unterscheidet sich von Ihrer Frage, es ist document.getElementsByID auf der aktuellen Seite ... stellen Sie sicher, dass ID auch Id ist.


Ein weiterer Nebennote, da Ihre Anzeigen partner-ad1 durch partner-ad6, Ihren aktuellen Code würde nie zeigen die 6th Anzeige, können Sie es vereinfachen und beheben, dass die Ausgabe wie folgt aus:

var antal = 6; 
var randomnumber=Math.ceil(Math.random()*antal); //instead of Math.floor 
document.getElementById("partner-ad"+randomnumber+"").style.display = 'block'; 
+0

Ahh ok, thx :) Wie auch immer, das hat zu einem anderen Problem geführt - jetzt bekomme ich die Fehlermeldung document.getElementById ("partner-ad" + randomnumber + ""). Style.display = 'block'; ist null? - Aber wenn ich eine Zufallszahl anrufe, bekomme ich eine Nummer? – nickycdk

+1

Ja, aber es gibt keine Garantie, dass ein Element im DOM mit dieser ID vorhanden ist. –

+1

@nickycdk - Ihre '