Jquery 切换由<;表示的表单选项卡;李>;

Jquery 切换由<;表示的表单选项卡;李>;,jquery,iterator,next,Jquery,Iterator,Next,我使用块显示列表项制作了一些表单选项卡。 然后我还有下一个和上一个按钮,$('wiznext')和$('wizprev')。 每当单击“下一步”时,都会选择选项卡列表中的下一个列表元素,并完成相应的操作 HTML是这样的: <ul id='tabs'> <li> Tab 1 </li> <li> Tab 2 </li> ... $('#wizprev').click(function(){ switchTab($current.

我使用块显示列表项制作了一些表单选项卡。 然后我还有下一个和上一个按钮,
$('wiznext')
$('wizprev')
。 每当单击“下一步”时,都会选择选项卡列表中的下一个列表元素,并完成相应的操作

HTML是这样的:

<ul id='tabs'>
<li> Tab 1 </li>
<li> Tab 2 </li>
...
$('#wizprev').click(function(){
   switchTab($current.prev('li').attr('id'));
 }
var tabCounter = 1;
$('#wizprev').click(function(){
    if(tabCounter > 1) {
        tabCounter--;
        switchTab($current.prev('li').attr('id'));
    }
}

$('#wiznext').click(function() {
    if(tabCounter < $('#current li').length) {
        tabCounter++;
        switchTab($current.next('li').attr('id'));
    }
});
但是,我想提出一个条件,即如果没有以前的列表项,则不要切换选项卡。因此,如果用户已经在选项卡1上,那么点击
previous
不应该做任何事情

我正在这样做: 我尝试过这种情况,但没有什么不同:

if($current.prev('li').length>0)
            switchTab($current.prev('li').attr('id'));

正确的方法是什么?

如果您检查下一步是否有,请使用

var next = $('#your-selector').next().length;

if(next == 0)
{ 
    return false;
} else {
    // do stuff
}
如果检查是否存在上一项,则使用

var prev = $('#your-selector').prev().length;

if(prev == 0)
{ 
    return false;
} else {
    // do stuff
}

保留某种计数变量,它会随着用户单击“上一步”或“下一步”而递增或递减。大概是这样的:

<ul id='tabs'>
<li> Tab 1 </li>
<li> Tab 2 </li>
...
$('#wizprev').click(function(){
   switchTab($current.prev('li').attr('id'));
 }
var tabCounter = 1;
$('#wizprev').click(function(){
    if(tabCounter > 1) {
        tabCounter--;
        switchTab($current.prev('li').attr('id'));
    }
}

$('#wiznext').click(function() {
    if(tabCounter < $('#current li').length) {
        tabCounter++;
        switchTab($current.next('li').attr('id'));
    }
});
var tabCounter=1;
$('#wizprev')。单击(函数(){
如果(选项卡计数器>1){
tabCounter--;
开关选项卡($current.prev('li').attr('id'));
}
}
$('#wiznext')。单击(函数(){
if(tabCounter<$('#当前li')。长度){
tabCounter++;
开关选项卡($current.next('li').attr('id'));
}
});

类似这样的情况,跟踪选项卡编号,如果用户已经在第一个选项卡上,则不要做任何事情。然后在转到下一个选项卡时检查它是否不是最后一个this
if($current.prev('li')。length>0)
应该起作用。检查返回的内容是否最终证明它起作用。