私はjQueryのセレクター、特にIDセレクターを使用しています:
$("#elementId")...
JQueryが要素を見つけたかどうかをどのように判断する必要がありますか?指定されたIDを持つ要素が存在しない場合でも、次のステートメントは私に与えます:[object Object]
alert($("#idThatDoesnotexist"));
$('#idThatDoesnotexist').length
はあなたが探しているものです。 (何も見つからない場合、これは=== 0
。)したがって、条件文はおそらく次のようになります。
if($( '#id')。length){/ *見つかった場合はコード* /} else {/ *見つからなかった場合はコード* /}
JQuery(ほとんど)が使用すると常に「jQueryオブジェクト」を返すため、そのアラートからオブジェクトが返されます。これは、メソッドチェーンを許可するjQueryの要素のラッパーです。
Futuraprimeは正しいですが、次の操作を行うことで構文を短縮できます。
if ($("#id").length) {
//at least one element was found
} else {
//no elements found
}
!$.isEmptyObject($.find('#id'))
これは、要素が存在する場合はtrueを返し、存在しない場合はfalseを返します。
$('#my_selector').length > 0
$('#my_selector').get(0) !== undefined
$('#my_selector')[0] !== undefined
これが基本ですが、今は好きなことをしてください。