2

这是我的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。我怎样才能做到这一点?

4

3 回答 3

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);
于 2013-09-22T16:09:07.533 回答
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);
于 2013-09-22T16:07:05.283 回答
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);
});
于 2021-01-23T17:59:55.940 回答