我正在使用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元素存在与否,我如何测试条件?
答案 0 :(得分:1)
您必须测试length
属性:
if ( nabourele.length )