为什么这个元素是“未定义的” - 它显然存在

时间:2013-04-09 17:20:09

标签: jscript

我在网页上看到了一个非常奇怪的错误。 VS2008和VS2012都会发生这种情况。在以下内容中:

<div class="content_header" onclick="tierMenu(menu2,img2)">
    <img id="img2" alt="Colapse Trips" height="9" src="Images/plus.gif" width="9" />
    Travel Summary
</div>

单击加号图像应该将图像更改为减号(将项目展开为显示数据)。在点击时调用tierMenu javascript方法,并且它存在。但是我收到了一个错误:

  

0x800a1391 - Microsoft JScript运行时错误:'img2'未定义

“Img2”肯定存在。页面中的其他位置也有类似的代码,它们的行为方式相同 - 得到相同的错误。奇怪的是,代码在生产中工作正常。它在呼唤:

function tierMenu(objMenu,objImage)
{
   if(objMenu && objImage)
   {
    ...
   }
}

碰巧我的开发机器是64位Windows 7.我无法想象这会是一个问题。有什么想法吗?

编辑添加:工作站为Win XP的同事在VS2008上尝试了此操作,但问题没有发生。真奇怪。即使在Visual Studio外部运行,即使用localhost直接从浏览器运行,我的工作站上也会出现此问题。

1 个答案:

答案 0 :(得分:0)

这是一个浏览器兼容性问题。如果我把IE9置于兼容模式,问题就会消失。

这并不是第一次兼容性让我头疼。一旦发生类似奇怪的事情,我将不得不学会尝试第一件事。

感谢所有看过这个的人,并对我感到困惑。