-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

これを試して

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