0

目前,我的 div 在页面加载时一一加载。绝对没问题!虽然当我发出 ajax 请求然后append(data)到同一个容器时,我的代码然后循环遍历页面上的所有 div 而不是新添加的 div?

我的问题是:如何.each()仅对新添加的 ajax 成功数据执行相同的效果?

jQuery:

success: function(data){
    $('#profileLinks').append(data);  

    $('.eachLink').each(function(i) {
        $(this).fadeOut(0).delay(100*i).fadeIn(500);
    }); 

} 

HTML:

<div id="profileLinks" class="floatLeft">
    <div class="eachLink floatLeft">Div 1</div>
    <div class="eachLink floatLeft">Div 2</div>
</div>
4

2 回答 2

2
var $data = $(data);
$data.find(".eachLink").addClass("not-animated-yet").appendTo("#profileLinks");
$(".eachLink.not-animated-yet").each(/* your animation function */);
于 2013-11-13T14:24:32.687 回答
0

您可以尝试删除类属性:

success: function(data){
    $('#profileLinks').append(data);  

    $('.eachLink').each(function(i) {
        $(this).removeClass(".eachLink");
        $(this).fadeOut(0).delay(100*i).fadeIn(500);
    }); 

} 
于 2013-11-13T14:26:56.730 回答