2011-01-05 68 views
2

運行此腳本時,我收到一條錯誤消息,document.GetElementById不是函數? - 你可以看到在該網站:http://www.fritidsjobbere.dkGetElementById不是一個函數嗎?

//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'; 

回答

13

getElementsById - >getElementById

2

它的奇異(ID都是唯一的,它應該只返回一個結果),document.getElementById這樣的:

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

另外,您的實際該網站上的代碼不同於您的問題,它的document.getElementsByID在實際頁面上...確保ID也是Id


另一個側面說明,因爲廣告partner-ad1通過partner-ad6,當前的代碼永遠不會顯示6th廣告,可以將其簡化並解決像這樣的問題:

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

啊OK,THX :)無論如何,這就產生了另一個問題 - 現在我得到了document.getElementById(「partner-ad」+ randomnumber +「」)。style.display ='block'的錯誤信息。 爲空? - 但是如果我提醒randomnumber我得到一個數字? – nickycdk 2011-01-05 13:01:28

+1

是的,但不能保證DOM中有這樣一個元素。 – 2011-01-05 13:02:51

+1

@nickycdk - 您的'