-1

我有这个JS代码:

var show = elm.hasClassName('level0') ? false : true;
if(show) {
  doSomething()
}

我正在使用 FireBug 检查 show 的值,它清楚地表明false。在调试时,我注意到无论如何都会调用 doSomething 函数。我错过了什么?

使用 if(false) 不会运行 doSomething 函数。

谢谢!

4

2 回答 2

2

从您显示的任何代码(!!!),我相信您的调试是错误的。可能是你看到的价值

elm.hasClassName('level0') 作为 false

但是,var show = elm.hasClassName('level0') ? false : true;手段show将被设置为倒数elm.hasClassName('level0')

只需alert(show)在 if 条件上方添加一个,然后查看打印的内容。看到这个小提琴http://jsfiddle.net/g4Zqp/1/它工作得很好。

如果不是这种情况,你需要把你的完整代码

于 2013-04-11T14:34:42.463 回答
0

Try this

if( !elm.hasClassName('level0')) {
  doSomething()
}
于 2013-04-11T14:12:29.837 回答