以下を使用して、要素が非表示かどうかを判断しました。
if ($("#sidebar").is(':hidden')) {
#sidebar が非表示かどうかを確認する代わりに、クラス「black」があるかどうかを判断する方法はありますか?
以下を使用して、要素が非表示かどうかを判断しました。
if ($("#sidebar").is(':hidden')) {
#sidebar が非表示かどうかを確認する代わりに、クラス「black」があるかどうかを判断する方法はありますか?
Api :.hasClass('black')
トリックを実行しますWorking Demo http://jsfiddle.net/xvA8d/2/
リンク: http://api.jquery.com/hasClass/
一致した要素のいずれかに指定されたクラスが割り当てられているかどうかを判断します。
いくつかの方法があります:
.hasClass('whatever')
.is('.whatever')
.prop('className') == 'whatever'
それらにはすべて、独自の長所と短所があります。
hasClass
: 通常は最良の選択です。要素に他のクラスがあるかどうかに関係なく、要素に指定されたクラスがあるかどうかを確認します。is
: セレクターをチェックします。セレクターエンジンを呼び出すため、hasClass よりも遅くなりますが、実際にはそれほど違いはありません。必要に応じてクラスをチェックするだけでなく、他のセレクターと組み合わせることができるため、より柔軟です。className
: 要素が正確に指定されたクラスのみを持っているかどうかを確認します。通常、あなたが望むものではありませんが、それは方法であるため言及されています.if ($("#sidebar").hasClass('black')) {
次のいずれかを使用できます.hasClass('black')
。
if($('#sidebar').hasClass('black');
.is()
または、柔軟性を高めるために使用できます。
if($('#sidebar').is('.black');
.is()
jQuery が提供する他のさまざまなセレクターを使用して要素をフィルター処理できます。.hasClass()
ただし、この回答が述べているように、より高速であることに注意してください。
if($("#sidebar").hasClass('black'))
if ($("#sidebar").hasClass('black')) {
ドキュメント. _