web-dev-qa-db-ja.com

jQueryが要素を見つけられなかったかどうかの判断

私はjQueryのセレクター、特にIDセレクターを使用しています:

$("#elementId")...

JQueryが要素を見つけたかどうかをどのように判断する必要がありますか?指定されたIDを持つ要素が存在しない場合でも、次のステートメントは私に与えます:[object Object]

alert($("#idThatDoesnotexist"));
116
Bardock

$('#idThatDoesnotexist').lengthはあなたが探しているものです。 (何も見つからない場合、これは=== 0。)したがって、条件文はおそらく次のようになります。

if($( '#id')。length){/ *見つかった場合はコード* /} else {/ *見つからなかった場合はコード* /}

JQuery(ほとんど)が使用すると常に「jQueryオブジェクト」を返すため、そのアラートからオブジェクトが返されます。これは、メソッドチェーンを許可するjQueryの要素のラッパーです。

178
futuraprime

Futuraprimeは正しいですが、次の操作を行うことで構文を短縮できます。

if ($("#id").length) {
   //at least one element was found
} else {
   //no elements found
}
26
John Hartsock
!$.isEmptyObject($.find('#id'))

これは、要素が存在する場合はtrueを返し、存在しない場合はfalseを返します。

11
Spas
$('#my_selector').length > 0 
$('#my_selector').get(0) !== undefined
$('#my_selector')[0] !== undefined

これが基本ですが、今は好きなことをしてください。

7
Blackjoker