我有一系列li
项目,并且需要循环它们并返回索引的最有效方法。我需要交叉检查li
的课程,如果它具有某个班级,则不返回索引。遍历元素,直到在jQuery中找到匹配
这基本上是一个支持键盘的应用程序样式菜单。从本质上讲,考虑以下标记:
<ul>
<li class="selected">First Item</li>
<li class="disabled">Second Item</li>
<li class="separator">Third Item</li>
<li>Fourth Item</li>
</ul>
我想,我可以通过li
元素使用循环播放功能,并返回一个索引(类的selected
将被应用到下一个可选项目)。目前,我正在循环查看并简单检查li
是否有separator
的类,如果是,则增加索引并将其返回。
但是,在上例中,该函数应该返回3
,因为无法选择类别为disabled
或separator
的任何项目。
任何人都可以提供一些建议,我怎么可能实现这个使用jQuery?我想,这也许可以做这样的事情:
function get_next_index()
{
var current_index = $('ul li.selected');
var index = $('ul li:gt(' + current_index + ')').not('.disabled').not('.separator').get(0).index();
if(!index || index < current_index)
{
return -1;
}
else
{
return index;
}
}