2016-06-21 14 views
3

クラス 'alignleft'を持つ要素にクラスを追加します。私のコード:JQuery - 要素にクラスがある場合はクラスを追加します

$(document).ready(function() { 
    if($('.foto').children().hasClass('alignleft')){ 
     $(this).addClass('animated bounceInLeft'); 
    } 
}); 

それは動作しません、なぜ私は分かりません。しかし、$('.foto').children().addClass('animated bounceInLeft');を使用すると、クラス 'alignleft'を持つすべての子要素にclassが適用されます。だから問題は$(this)にあるのでしょうか?

答えて

1

。代わりにchildren()メソッドのセレクタとしてクラスを使用します。

$('.foto').children('.alignleft').addClass('animated bounceInLeft'); 

それとも

$(document).ready(function() { 
var elem = $('.foto .alignleft'); 
    if (elem) { 
    elem.addClass('animated bounceInLeft'); 
    } 
}); 

または

$(document).ready(function() { 
    $('.foto .alignleft').addClass('animated bounceInLeft'); 
}); 

を試してみてくださいchild selector(>)

$('.foto > .alignleft').addClass('animated bounceInLeft'); 
1

あなたは、クラスセレクタを使用して要素を対象とし、それらにクラスを追加することができます:あなたはウィンドウオブジェクトを参照するthisを、使用することはできません

$('.foto .alignleft').addClass('animated bounceInLeft'); 
関連する問題