jQueryでオブジェクト(HTMLタグ要素)の存在を判別するには <b>.length</b>や <b>.is()メソッド</b> を使用します。
if($('#hoge').length) { alert('存在します'); }
とします。
// 方法1. 「透明度」と「visibility」両方を確認する(おすすめ) if ($('#hoge').css('opacity') > 0 && $('#hoge').filter(':not(:hidden)').length ){ alert('表示中です'); } // 方法2. 「visibility」のみ確認する if( $('#hoge').filter(':not(:hidden)').length ){ alert('表示中です'); } // 方法3. 「visibility」のみ確認する if ( $('#hoge').is(':visible') ){ alert('表示中です'); }
console.log( $('#hoge').css("transform") ); console.log( $('#hoge').css("transition") ); console.log( $('#hoge').css("opacity") );
など、CSSのプロパティを取得してきて変化中の値を見るといいでしょう。
// 方法1. if ( $("#hoge:animated").length ){ alert('アニメーション中です'); } // 方法2. if ( $("#hoge").is(":animated") ){ alert('アニメーション中です'); }
上記の例以外にも
// 要素にフォーカスがあたっているなら if ($("#hoge").is(":focus") ){ alert('フォーカスしています'); } // 要素が最後の要素であれば if ( $(".fuga").is(":last-child") ){ alert('最後の要素です'); } // 要素が表示中なら if( $("#hoge").is(":visible") ){ alert('表示中です'); } // 要素が非表示なら if ( $("#hoge").is(":hidden") ){ alert('非表示です'); } // 要素がfugaクラスを内包しているなら if ( $("#hoge").is(":has('.fuga')") ){ alert('.fugaクラスを内包しています'); }