-2

要素が存在するかどうかを確認するには、使用しています

   if($('#id').length)
       //statement 1
   else
      //statement 2

それは私にとってはうまくいっています。ただし、条件が true の場合、statement1 が実行されます。それ以外の場合、statement2 が実行されます。しかし、長さが長さを返す場合、どのように機能しますか( 1 、 2 のような数値です...)

長さが 0 の場合、 にかかると思いfalseました0。しかし、残りのケースはどうですか。ここで何が起こっているのか理解できません。前もって感謝します...

4

4 に答える 4

3

if の MDNから:

未定義、null、0、NaN、または空の文字列 ("") 以外の値、および値が false である Boolean オブジェクトを含むすべてのオブジェクトは、条件ステートメントに渡されたときに true と評価されます。

これは、長さが1(またはそれ以上であるが、このセレクターでは起こり得ない) 場合、true と評価されることを意味します。

そのため、id を持つ要素idが見つかると、statement 1が実行されます。長さが の場合0、 thenstatement 2が実行されます。

于 2013-04-19T08:06:28.437 に答える
0

Javascript にはtrue/falsy0の概念があり、 、 false 、undefinedおよびなどの値は偽と見なされ、その他の値nullは真と見なされます。

長さが である場合は0偽になり、条件は失敗します。それ以外の場合、長さ !=0 の場合、値は真であると見なされ、条件は成功します。

于 2013-04-19T08:07:07.823 に答える
-1

はい、これがJavaScriptの仕組みです

説明はこちら

JavaScript では、なぜ「0」は false に等しいのに、「if」でテストすると、それ自体は false ではないのですか?

于 2013-04-19T08:08:01.633 に答える