2011-07-02 9 views
2
私はモーダルウィンドウのライブラリを作成しようとしていますので、私は、オブジェクトがDOMに同じIDを持っているかどうかを確認する必要が

jquery存在しないIDまたはクラスの戻り値?

問題は、私はそれが[]

を返し

$("#anonexistingid"); 

を書くときのブラウザコンソールであります

が、私のコードで

if($("#"+id)!==[]){ 
     return; 
    } 

だけでは動作しません。空の配列を定義する正しい方法は何ですか?(私は[]は空の配列を意味すると思いますので、わからないかもしれません:D)

+0

最後の部分は残念です。D – gkaykck

+1

いずれの場合も、2つのオブジェクトは、同じ(同じ)場合にのみ等しくなります。 '[] == []'でも 'false'を返します。 –

答えて

9

JQueryは常にオブジェクトを返します。空であるかどうかを確認することができます。

if($("#"+id).length !== 0){ 

} 
+0

私たちはそれを必要としますか?== 0、.lengthは適切であるべきです。 – kobe

+0

@kobe:はい、もっと理解しやすい方が明白です。 ( '> 0'はさらに良いでしょう) –

+0

@felix、ありがとう – kobe

4

[]は空の配列です。空であるかどうかをテストするには、次を試してください:

if($("#"+id).length) { 
    //Element is found 
} 
0

を返す他、trueを返します。

if($("#"+id).size() > 0){ 
     return; 
    } 

このメソッドは、一致する要素の数を$で返します。

これが役に立ちます。乾杯。

関連する問題