如果是最后一个孩子,请做点别的

时间:2014-04-01 14:25:15

标签: javascript jquery

我循环浏览一系列图像,沿着一系列元素传递类.current,并每次都克隆它。像这样:

http://jsfiddle.net/EMFZe/3/

注意:我使用.img作为img的占位符。

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

    $('.main-frame').empty();
    if (!$('.slide-controller .slide.current').is(':last')) {

        $('.current')
        .removeClass('current')
        .next()
        .addClass('current')
        .clone('.img')
        .appendTo('.main-frame');
    } else { 
        alert('else!'); // this is never called
    }
});

问题:if语句似乎无法正常工作:永远不会调用else。谁会知道为什么?

(最后,当.current在最后一个孩子身上时,我需要反转幻灯片)

3 个答案:

答案 0 :(得分:2)

你没有指明最后的......尝试

$('.slide-controller .slide.current').is('.slide-controller .slide:last')

演示:Fiddle

或检查:last-child

$('.slide-controller .slide.current').is(':last-child')

演示:Fiddle

答案 1 :(得分:1)

我想我在上面的评论中首先回答了这个问题,但如果你先接受别人的回答,那就没什么大不了的了。

Change :last to :last-child

http://jsfiddle.net/EMFZe/4/

答案 2 :(得分:0)

更改last的{​​{1}},一切都应该正常:

http://jsfiddle.net/EMFZe/6/

last-child