如何在$(this)中选择类

时间:2013-09-22 16:06:11

标签: jquery html

这是我的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);
});

我只想选择main_box_bg_left this指标。 我怎么能这样做?

3 个答案:

答案 0 :(得分: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 :(得分: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_left元素的main_box_background子元素,您也可以使用.children()

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

答案 2 :(得分:1)

你的想法几乎是正确的,只需要将 $(this) 之后的选择器更改为函数 find(),如下所示:

$('.main_box_background').each(function(){
    var foo = $(this); //This line is not really necessary
    $(this).find(".main_box_bg_left").animate({marginLeft: "-121px"}, 500);
});