确定是否存在next / previous元素

时间:2012-10-10 04:50:12

标签: javascript jquery

  

可能重复:
  jQuery: Checking if next element exists

我正在使用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的控制台日志显示[]

如果next / prev元素存在与否,我如何测试条件?

1 个答案:

答案 0 :(得分:1)

您必须测试length属性:

if ( nabourele.length )