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

If last child, do something else

本文关键字:最后一个 孩子 如果      更新时间:2023-09-26

我正在循环浏览一系列图像,将类.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在最后一个孩子身上时,我需要反转幻灯片)

您没有指定最后的内容...尝试

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

演示:小提琴

或检查:最后一个孩子

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

演示:小提琴

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

Change :last to :last-child

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

更改last-childlast,一切都应该很好:

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

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