2013-09-22 53 views
1

這裏是我的html代碼:

<div class="main_box_background"> 
    <div class="main_box_bg_left"> 
    </div> 
</div> 

<div class="main_box_background"> 
    <div class="main_box_bg_left"> 
    </div> 
</div> 

<div class="main_box_background"> 
    <div class="main_box_bg_left"> 
    </div> 
</div> 

這裏是我的jQuery代碼:

$('.main_box_background').each(function(){ 
    var foo = $(this); 
    $(this).$(".main_box_bg_left").animate({marginLeft: "-121px"}, 500); 
}); 

我只是想選擇this指標main_box_bg_left。 我該怎麼做?

+2

如果您已經在緩存'$(本)',然後使用'foo.find(...' 。 – ComFreek

回答

1

你需要使用的功能是.find()

$(this).find(".main_box_bg_left").animate({marginLeft: "-121px"}, 500); 
//foo.find(".main_box_bg_left").animate({marginLeft: "-121px"}, 500); 

或者在自main_box_bg_leftmain_box_background元素的這種情況下,你也可以使用.children()

$(this).children(".main_box_bg_left").animate({marginLeft: "-121px"}, 500); 
4

使用.find(),而且也沒有必要在此特定情況下使用.each()

$('.main_box_background') 
    .find(".main_box_bg_left").animate({marginLeft: "-121px"}, 500); 

一個簡單的選擇是選擇擺在首位所需的元素:

$('.main_box_background .main_box_bg_left') 
    .animate({marginLeft: "-121px"}, 500); 
+1

'$('。main_box_background .main_box_bg_left')'會更短。 – ComFreek

+0

有很多main_box_background,並且我使用了.each()。我想一次選擇一個。 – Prakash

+0

@Prakash命令I'已經寫過的每一個元素都有'.main_box_bg_left'類,每個元素都有'.main_box_background'類。這就是jQuery的工作原理。ComFreek,謝謝 – Itay