2011-01-05 70 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 - 您的'