我有一系列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;
}
}