Javascript'元素'在ie中未定义,但在chrome和firefox中工作正常

时间:2015-03-20 16:04:48

标签: javascript html internet-explorer

我有一些在Firefox和Chrome中正确运行的javascript,但导致ie死了"错误:' foo'未定义(在下面的代码中,行foo.onclick = false)。

我尝试在页面重新加载时禁用图像的onlick功能。代码如下:

function UpdateQueryAndRefresh(queryName, queryValue) {
    var escapedQueryName = encodeURIComponent(queryName);
    var escapedQueryValue = encodeURIComponent(queryValue);
    var upd_url = UpdateQueryStringParameter(document.URL, escapedQueryName, escapedQueryValue);

    if (upd_url.toUpperCase() != document.URL.toUpperCase()) {
        // Disable save button during refresh
        // Update current scale parameter also
        upd_url = UpdateQueryStringParameter(upd_url, "Scale", m_scale.toString());


        foo.onclick = false;

        window.location.href = upd_url;
    }
}

我已经读过,如果某些东西在其他浏览器中有效但不是,即我的标题可能是错误的,但我检查了标题,它们看起来很好。当我使用ie内置脚本调试器时,我可以看到foo图像未定义的原因。

我做错了什么?

@JamieBarker 所以我对这种语言有点新鲜...... Foo是一个在页面正文中定义为图像的图像。这是:

<img id="foo" src="images/image.png" alt="Show"  height="10" width="18" align="absmiddle" onclick="function()" />

我有什么理由不能看到这个,但我可以使用firefox和chrome吗?

1 个答案:

答案 0 :(得分:2)

你没有设置&#39; foo&#39;做任何事。你需要定义它。 Chrome和Firefox会自动为具有相同ID的元素分配变量。

var foo = document.getElementById('foo');
foo.onclick = false;