这是我的代码:
if (document.getElementById("hiddenButton").style.visibility != "visible") {
document.getElementById("hiddenButton").style.visibility = "visible";
}
else {
document.getElementById("hiddenButton").style.visibility = "hidden";
}
当您单击另一个按钮时,此代码显示并隐藏HTML按钮。
但是我的问题是为什么代码可以工作,而这不是:
if (document.getElementById("hiddenButton").style.visibility = "hidden") {
document.getElementById("hiddenButton").style.visibility = "visible";
}
else {
document.getElementById("hiddenButton").style.visibility = "hidden";
}
答案 0 :(得分:21)
您的情况实际上是一项任务:
if (document.getElementById("hiddenButton").style.visibility = "hidden") {
您应该使用==
:
if (document.getElementById("hiddenButton").style.visibility == "hidden") {
答案 1 :(得分:10)
=
是一项任务操作。
!=
是一个不等式算子。
==
是一个相等运算符。
我猜您需要的是==
运算符。所以用以下代码替换你的代码:
if (document.getElementById("hiddenButton").style.visibility == "hidden") {
答案 2 :(得分:6)
== is equal to
=== is exactly equal to (value and type)
!= is not equal
例如:
var x = 1; //define and assigned and now x equal to 1
x = 3; //now x equal to 3
if( x == 4) {
//you won't see this alert
alert('Hello, x is 4 now');
} else {
//you will see this alert
alert('Hello, x hasn not been changed and it is still ' + x.toString());
}
答案 3 :(得分:5)
我认为你的问题是你将赋值运算符(=)与等号运算符(==或===)混淆。赋值运算符将左侧设置为等于右侧的任何值,并且相等运算符(==或===)实际上测试是否相等。
答案 4 :(得分:3)
这是因为简单的“=”不适用于比较。请改用“==”。
答案 5 :(得分:2)
Left = Right
这意味着,“无论右侧是什么,都把它作为左侧的值。”
所有比较和其他检查都是用两个符号完成的,以便在您只是想检查一个值时限制歧义和不正确的变量赋值。
!= means not equal to
== means equal
=== means equal and same object/datatype
= means "Assign the right side (Or what it evaluates to) to the variable on the left