nextAll() – 多个列表遍历
我有三个清单。 当我点击下一个时我想得到下一个li,这很好,但是当我到达第一个列表的末尾时,我希望下一个是第二个列表的第一个..我会尝试解释一下。
所以我有三个列表..接下来我想知道我有多少李,所以我写了..
var how_many $('ul.list li').length;
这很好,它带回了所有6里的..
接下来我想找到一个li,如果它当前有图像ID。
var which = $('ul.list li[image_id^="' + image_id +'"]');
这一切都很好。
所以现在我要找到下一个li的图片ID是什么..
var found_next = which.nextAll('ul.list li').attr('image_id');
这也有效..
然后我使用.load加载新图像,该.load具有更新当前image_id的回调…
“问题”是点击,next..next..next等等,我到第一个列表的结尾说jquery带回“undefined”而不是第二个列表的第一个li。 有没有人有任何建议?
任何帮助将非常感激。
.nextAll
仅适用于兄弟姐妹。 如果要跳转到下一个
,则必须选择所有元素,然后使用.index
和.eq()
选择下一个
。
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'); } });
这是一个有效的演示