2016-06-21 75 views
3

我想將類添加到具有類'alignleft'的元素。我的代碼:JQuery - 如果元素具有類,則添加類

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

它不起作用,我不知道爲什麼。但是,如果我使用$('.foto').children().addClass('animated bounceInLeft');它將類應用於類'alignleft'的所有子元素。所以問題可能在$(this)

回答

1

不能使用this,其指的窗口對象。相反,使用該類作爲選擇器的方法是children()方法。

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

或者使用child selector(>)

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

您可以定位使用類選擇的元素,然後添加類到它們:

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

嘗試

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

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

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

 
.animated{background:lightgrey;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="foto"> 
 
    <div class="alignleft"> 
 
    Div A 
 
    </div> 
 
    
 
    <div class="alignleft"> 
 
    Div B 
 
    </div> 
 
    
 
    <div class="alignright"> 
 
    Div C 
 
    </div> 
 
    <div class="alignright"> 
 
    Div D 
 
    </div> 
 
</div>

相關問題