Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery nextAll()-多列表遍历_Jquery_Next - Fatal编程技术网

Jquery nextAll()-多列表遍历

Jquery nextAll()-多列表遍历,jquery,next,Jquery,Next,我有三张单子。 单击“下一步”时,我希望获得下一个li,这很好,但当我到达第一个列表的末尾时,我希望下一个li成为第二个列表的第一个。。我会尽量解释得更清楚一点 <ul class='list'> <li image_id="1"></li> <li image_id="2"></li> </ul> <ul class='list'> <li image_id="3"></l

我有三张单子。 单击“下一步”时,我希望获得下一个li,这很好,但当我到达第一个列表的末尾时,我希望下一个li成为第二个列表的第一个。。我会尽量解释得更清楚一点

<ul class='list'>
   <li image_id="1"></li>
   <li image_id="2"></li>
</ul>

<ul class='list'>
   <li image_id="3"></li>
   <li image_id="4"></li>
</ul>

<ul class='list'>
   <li image_id="5"></li>
   <li image_id="6"></li>
</ul>
这很好,它带回了所有的六里

下一步,我想找到一个li,如果它有即时通讯当前的图像id

var which = $('ul.list li[image_id^="' +  image_id +'"]');
在这一点上一切正常

所以现在我要找到下一个李的图像id是什么

var found_next = which.nextAll('ul.list li').attr('image_id');
这也行

然后,我使用.load加载新图像,该加载具有更新当前图像\u id的回调

“问题”是当单击、next..next..next等时,我会说第一个列表jquery返回“未定义”而不是第二个列表的第一个li。有人有什么建议吗

任何帮助都将不胜感激。

只适用于兄弟姐妹。如果要跳转到下一个
  • ,必须选择所有元素,然后使用和选择下一个
  • var $li = $('ul.list li');
    // Example, inside an event listener:
        var index = $(this).index($li);
        var nextElement = $li.eq( index + 1 );
    
    只对兄弟姐妹有效。如果要跳转到下一个
  • ,必须选择所有元素,然后使用和选择下一个
  • var $li = $('ul.list li');
    // Example, inside an event listener:
        var index = $(this).index($li);
        var nextElement = $li.eq( index + 1 );
    

    不知道你是否已经弄明白了。如果没有,您可以尝试:

    var $li = $('ul.list li'), i = 0, $currentLi;
    
    $('button').click(function(){
        if(i < $li.length) {
            $currentLi = $li.eq(i); //eq(i) returns a jQuery object where i is the zero-based index
            i++
        }else {
            alert('End of LIs');
        }
    });
    
    var$li=$('ul.list li'),i=0,$currentLi;
    $(“按钮”)。单击(函数(){
    如果(i<$li.长度){
    $currentLi=$li.eq(i);//eq(i)返回一个jQuery对象,其中i是从零开始的索引
    我++
    }否则{
    警报(“LIs结束”);
    }
    });
    

    这里有一个正在运行的

    不确定您是否已经找到了它。如果没有,您可以尝试:

    var $li = $('ul.list li'), i = 0, $currentLi;
    
    $('button').click(function(){
        if(i < $li.length) {
            $currentLi = $li.eq(i); //eq(i) returns a jQuery object where i is the zero-based index
            i++
        }else {
            alert('End of LIs');
        }
    });
    
    var$li=$('ul.list li'),i=0,$currentLi;
    $(“按钮”)。单击(函数(){
    如果(i<$li.长度){
    $currentLi=$li.eq(i);//eq(i)返回一个jQuery对象,其中i是从零开始的索引
    我++
    }否则{
    警报(“LIs结束”);
    }
    });
    

    这里有一个正在工作的

    可能与
    .index()
    结合使用。谢谢,我刚刚查找了.index。。谢谢-如果成功,将进行编辑。@smoop您必须仔细阅读
    索引
    。它有几种口味(如图所示)。另外,您可能会发现这很有用。这非常有效,感谢您的时间和回答-非常感谢。可能与
    .index()
    结合使用。谢谢我刚刚查找了.index。。谢谢-如果成功,将进行编辑。@smoop您必须仔细阅读
    索引
    。它有几种口味(如图所示)。另外,你可能会发现这很有用。这非常有效,谢谢你的时间和回答-非常感谢。当这些问题发生时第一个去的地方->当这些问题发生时第一个去的地方->这是非常优雅的解决方案谢谢你,我也会关注这一点。谢谢你的时间。这是一个非常优雅的解决方案。谢谢你,我也来看看。谢谢你抽出时间。