2013-01-04 42 views
-1

下面的代码无法正常工作,它提醒正确的值,但不会改变style="display: none;"style="display: block;"什么是正确的“浏览器兼容”方式来更改样式属性?

function toggleZoomImage(id, state){ 
    alert(id); 
    alert(state); 
    if(state == 'open'){ 
     document.getElementById(id).style.display == "block"; 
    } else { 
     document.getElementById(id).style.display == "none"; 
    } 
} 
+8

使用'='(赋值)而不是'=='(松散比较相等性)。 – DCoder

+0

有谁知道目前所有的浏览器(包括手机)是否支持style.display =“”? – JoJo

+1

设置'style.display ='''*的结果应该与编写内联'style =“display:;'''属性相同 - 浏览器应该忽略这个无效的声明并使用'display'设置的任何值在CSS中。 – DCoder

回答

5
function toggleZoomImage(id, state){ 
    alert(id); 
    alert(state); 
    if(state == 'open'){ 
     document.getElementById(id).style.display = "block"; 
    } else { 
     document.getElementById(id).style.display = "none"; 
    } 
} 

失去了双等号这些都是比较运算。单身是分配。

2

您使用的是错误的操作符 - 使用“=”不是“==”。首先是任务,这是你想要的。第二个是比较,并没有在你的代码中做任何事情。

+0

谢谢先生 - 抛出我的平等和任务,这样不健康;)...希望我现在可以删除问题。 – JoJo