jQuery .first()和.last()的工作方式不同吗?

时间:2011-10-18 16:43:30

标签: jquery navigation slideshow addclass removeclass

所以,我正在用这个标记构建一个简单的幻灯片控件:

<div class="previous"> </div>
<div class="next"> </div>
<div class="gallery"> </div>
    <div class="image-0"> </div>
    <div class="image-1"> </div>
    <div class="image-2"> </div>
    <div class="image-3 active"> </div>
    <div class="image-8"> </div>
    <div class="image-9"> </div>
    <div class="image-10"> </div>
    <div class="image-11"> </div>
</div>

我正试图使用​​jQuery进行导航:

$('.next').click(function() {

    $('.active').next().addClass('active');
    $('.active').first().removeClass('active');


  });
$('.previous').click(function() {

    $('.active').prev().addClass('active');
    $('.active').last().removeClass('active');

});

因此,第一个jQuery块按预期工作,首先将active类分配给下一个div,然后从第一个中删除它。第二个块应该以相反的方式执行,但是在将类添加到上一个项目之后不会从最后一个项目中删除它。

我是从错误的一方接近这个问题吗?或者first()和last()函数的工作方式不同?从我从jquery文档中可以看出,这应该可行。

1 个答案:

答案 0 :(得分:3)

我用你的代码创建了一个jsfiddle,它工作正常:http://jsfiddle.net/K5vN4/

(使用Firebug或类似方法检查小提琴的“结果”区域。)