0

可能重复:
jQuery:检查下一个元素是否存在

我正在使用 jquery 实现自定义滑块。right当用户分别按下/left键时,我想提供工具来加载下一张/上一张图像。

它工作正常,但是当光标到达last/first元素时,代码会中断,因为它找不到更多元素。我的代码如下:

function movePointer(dir){
    var selected = $("#imgslider > ul > li > img.siddslideselected");
    console.log(selected);
    var selectedli = selected.parent();
    if(dir=='left'){
        var nabourele = selectedli.prev()
    }else if(dir=='right'){
        var nabourele = selectedli.next();
    }
    console.log(nabourele);
    if(nabourele){
        selected.removeClass('siddslideselected');
        nabourele.children().addClass('siddslideselected').trigger('click');
    }
}

如果光标的当前位置在中间,则一切正常,但如果光标位于第一个元素上,则left按键会破坏代码。我试图通过检查来阻止它if(nabourele){,但它不起作用。在这种情况下nabourele显示的控制台日志。[]

如果下一个/上一个元素存在与否,我如何测试条件?

4

1 回答 1

1

您必须测试该length属性:

if ( nabourele.length )
于 2012-10-10T04:51:05.737 回答