JQuery nextAll以每个函数为准

时间:2011-10-22 16:51:54

标签: jquery next

以下代码旨在将过程应用于单击容器之前和之后的所有容器子元素。它在某种程度上被打破了。我从未使用过nextAll或prevAll,所以它可能与编码错误有关。

$('.bounceholder ul').prevAll().each(function(){
            $(this + ' li').each(function(){
                $(this).animate({left: -200, top:-8, leaveTransforms:true}, 600);
            });
        });


        $('.bounceholder ul').nextAll().each(function(){
            $(this + ' li').each(function(){
                $(this).animate({left: +1000, top:-8, leaveTransforms:true}, 600);
            });
        });

问题在哪里

2 个答案:

答案 0 :(得分:1)

试试这个:

    $('.bounceholder ul').prevAll().each(function() {
        $('li', this).animate({left: -200, top:-8, leaveTransforms:true}, 600);
    });


    $('.bounceholder ul').nextAll().each(function(){
        $('li', this).animate({left: +1000, top:-8, leaveTransforms:true}, 600);
    });

答案 1 :(得分:0)

已经给出了一个很好的答案(使用this作为上下文而不是尝试将其与字符串li连接起来),但您可以使用siblings作为更短的替代方案:< / p>

$('.bounceholder ul').siblings().each(function() {
    $('li', this).animate({left: -200, top:-8, leaveTransforms:true}, 600);
});

prevAll返回所有前面的兄弟节点,并且nextAll返回所选元素的所有以下兄弟节点时,siblings应该提供完全相同的功能,但只需要一个代码块