Javascript无法在IE中运行

时间:2012-05-10 07:11:50

标签: javascript css visibility

刚刚意识到我的网站正确地在IE中工作。它在Chrome和Firefox中完美运行。在IE中问题是,由javascript影响的元素只是没有出现。我启用了Javascript,所以我不知道它与其他浏览器有什么不同。

当我使用toggle_visibility函数时:

function toggle_visibility_1(id) {
    var e = document.getElementById(id);
    if(e.style.display = 'inline') 
    e.style.display = 'none';
}
function toggle_visibility_2(id) {
    var e = document.getElementById(id);
    if(e.style.display = 'none') 
    e.style.display = 'inline';
}

网站在这里:http://www.dillonbrannick.com/ 当然,除非在IE中,否则不存在明显的问题,如果在IE中它可能不是很明显,所以希望我已经描述得很好。

所以我似乎修复了问题就像它应该在这里看到的那样工作:http://testerwebby.tumblr.com/所以我不知道我做了什么,但我很快就会将它推广到我的网站,感谢您的帮助。

1 个答案:

答案 0 :(得分:8)

您正在执行作业,而不是比较:

// Sets the value of display
if ( e.style.display = 'none' )

您应该使用==(值)或===(值和类型)来测试相等性:

// Tests the value of display
if ( e.style.display == "none" )

如果您要做的只是在inlinenone之间切换,则以下情况会更好:

function toggle_visibility(id) {
    var e = document.getElementById(id);
    e.style.display = (e.style.display === "none") ? "inline" : "none" ;
}

演示:http://jsbin.com/uyawop/edit#javascript,html