Javascript 调用document.getElementById有什么问题

Javascript 调用document.getElementById有什么问题,javascript,internet-explorer-8,Javascript,Internet Explorer 8,我有以下javascript代码 var myDiv = document.getElementById("myDiv"); alert(myDiv); myDiv.style.display = 'none'; 调用alert(myDiv)成功地显示myDiv不是null,并且我看到对象(div)设置了所有必要的属性等 但是,调用myDiv.style.display=none会导致IE 8中出现所需对象javascript错误 有什么我需要检查的吗 谢谢。确

我有以下javascript代码

var myDiv = document.getElementById("myDiv");
alert(myDiv);                
myDiv.style.display = 'none';
调用alert(myDiv)成功地显示myDiv不是null,并且我看到对象(div)设置了所有必要的属性等

但是,调用myDiv.style.display=none会导致IE 8中出现所需对象javascript错误

有什么我需要检查的吗


谢谢。

确保您的html标记有效。您可以使用w3c验证。或者,如果您正在使用任何IDE,请检查它是否具有验证功能,确保您的html标记有效。您可以使用w3c验证。或者,如果您正在使用任何IDE,请检查它是否具有验证功能

确保在
窗口调用此脚本。onload
,而不是在之前

编辑:此外,请确保避免这样做的常见陷阱:

window.onload = foo() # PROBABLY WRONG
当你真的想这么做的时候:

window.onload = foo

确保在
窗口.onload
而不是之前调用此脚本

编辑:此外,请确保避免这样做的常见陷阱:

window.onload = foo() # PROBABLY WRONG
当你真的想这么做的时候:

window.onload = foo

此外,请检查,除了仅在加载DOM后才尝试此操作外,页面上没有多个元素具有相同的
myDiv
ID。查看源代码并尝试查找其显示位置,确保不会意外重复此操作


祝你好运

此外,请检查,除了仅在加载DOM后才尝试此操作外,页面上没有多个元素具有相同的
myDiv
ID。查看源代码并尝试查找其显示位置,确保不会意外重复此操作


祝你好运

html元素将/可以具有id和名称。 在我的应用程序中,我们使用母版页(asp.net),因此当您将控件放置在母版页派生的内容页下时

控件的id类似于“ctl00\u ctl00\u ctlname”

名称将具有 “ctl00$ctl00$ctlname”

现在, 如果getElementById在IE7(IE 7)中工作正常,而在IE8(IE 8)中工作不正常 一个可能的原因是在getElementById方法中传递的值/属性。 这是因为IE7用于在id不匹配时按名称查找控件

简而言之,如果您正在传递值 属性的名称,然后 getElementById()在IE8中不起作用


快乐编码:)

html元素将/可以有id和名称。 在我的应用程序中,我们使用母版页(asp.net),因此当您将控件放置在母版页派生的内容页下时

控件的id类似于“ctl00\u ctl00\u ctlname”

名称将具有 “ctl00$ctl00$ctlname”

现在, 如果getElementById在IE7(IE 7)中工作正常,而在IE8(IE 8)中工作不正常 一个可能的原因是在getElementById方法中传递的值/属性。 这是因为IE7用于在id不匹配时按名称查找控件

简而言之,如果您正在传递值 属性的名称,然后 getElementById()在IE8中不起作用


快乐编码:)

你能把你的div的HTML源代码放进去吗?你能把你div的HTML源代码放进去吗?嗨,我在body.onload调用它,但我会尝试你的建议并报告回来。嗨,我在body.onload调用它,但我会尝试你的建议并报告回来。我反复检查,反复检查,反复检查,你是对的,我的打字错误导致了这个问题。谢谢:)大多数情况下,如果简单JavaScript DOM失败。。标记是问题所在:-)我反复检查,反复检查,反复检查,你是对的,我的打字错误导致了问题。谢谢:)大多数情况下,如果简单JavaScript DOM失败。。标记是问题所在:-)