我有这个JS代码:
var show = elm.hasClassName('level0') ? false : true;
if(show) {
doSomething()
}
我正在使用FireBug来检查show的值,它清楚地表明 false 。在调试时,我注意到无论如何都调用了doSomething函数。我错过了什么?
使用if(false)不会运行doSomething函数。
谢谢!
答案 0 :(得分:2)
从您显示的任何代码(!!!),我相信您的调试是错误的。可能你看到了
的价值 elm.hasClassName('level0')
如
false
但是,var show = elm.hasClassName('level0') ? false : true;
表示show
将设置为elm.hasClassName('level0')
只需在if条件上方添加alert(show)
即可查看打印内容。看到这个小提琴http://jsfiddle.net/g4Zqp/1/它完全正常。
如果不是这种情况,则需要填写完整的代码
答案 1 :(得分:0)
试试这个
if( !elm.hasClassName('level0')) {
doSomething()
}