【问题标题】:do jQuery .first() and .last() work differently?jQuery .first() 和 .last() 的工作方式不同吗?
【发布时间】:2011-10-18 16:43:29
【问题描述】:

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

<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 块按预期工作,首先将 activeclass 分配给下一个 div,然后从第一个 div 中删除它。第二个块应该反过来做,但是在将它添加到前一个项目之后不会从最后一个项目中删除该类。

我是不是从错误的角度来处理这个问题?还是 first() 和 last() 函数的工作方式不同?从我从 jquery 文档中可以看出,这应该可以工作。

【问题讨论】:

  • 您的代码按预期为我工作jsfiddle.net/GYbRv
  • 虽然代码有边界错误,但代码工作正常jsfiddle.net/6vWx6
  • 谢谢 liho1eye 和 amit_g。但什么是边界错误?

标签: jquery navigation slideshow addclass removeclass


【解决方案1】:

我用你的代码创建了一个 jsfiddle,它运行良好:http://jsfiddle.net/K5vN4/

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

【讨论】:

  • 它确实适用于 jsfiddle(刚刚发现它,真的很酷!),所以我的问题在其他地方。谢谢!
猜你喜欢
  • 2013-03-03
  • 1970-01-01
  • 2014-08-21
  • 1970-01-01
  • 2023-02-25
  • 2011-10-05
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
相关资源
最近更新 更多