document.getElementById()在IE9上返回null

时间:2012-01-24 02:24:37

标签: javascript internet-explorer getelementbyid

我正在制作一个弹出窗口,我在使用Internet Explorer 9时遇到了一些困难。这是给我带来麻烦的一段代码:

var popUp= document.getElementById('projectInfo');
popUp.style.left=(tempX-310)+'px';
popUp.style.top=(tempY-110)+'px';

在IE9中(尚未在先前版本中测试过),popup为null。在adition中,我尝试在正文结束标记之前包含我的.js文件,并将我的函数包装在“document.ready()”函数中,但这些都不起作用。相同的代码虽然在Opera,Chrome和Firefox中完美运行。 有谁知道发生了什么事?

注意:该函数在我的html的主体onLoad属性中调用。

3 个答案:

答案 0 :(得分:1)

不使用功能无法正常工作

 window.onload = function() {
   var popUp= document.getElementById('projectInfo');
   popUp.style.left=(tempX-310)+'px';
   popUp.style.top=(tempY-110)+'px';
 }

答案 1 :(得分:0)

答案 2 :(得分:0)

在IE的早期版本(显然是Chrome和Firefox)中,getElementById会检查具有给定ID的对象,如果找不到它,则需要一个具有该名称的元素。

IE9不会这样做,所以你需要确保你有一个id = projectInfo的元素,而不仅仅是name = projectInfo。我们刚刚在一个应用程序中发现了这一点。不太好。