Javascript 循环元素,直到在jQuery中找到匹配项

Javascript 循环元素,直到在jQuery中找到匹配项,javascript,jquery,loops,Javascript,Jquery,Loops,我有一系列li项,需要最有效的方法循环它们并返回索引。但是我需要交叉检查li的类,如果它有某个类,则不返回索引 这基本上适用于支持键盘的应用程序样式菜单。基本上,考虑下面的标记: <ul> <li class="selected">First Item</li> <li class="disabled">Second Item</li> <li class="separator">Third Item

我有一系列
li
项,需要最有效的方法循环它们并返回索引。但是我需要交叉检查
li
的类,如果它有某个类,则不返回索引

这基本上适用于支持键盘的应用程序样式菜单。基本上,考虑下面的标记:

<ul>
    <li class="selected">First Item</li>
    <li class="disabled">Second Item</li>
    <li class="separator">Third Item</li>
    <li>Fourth Item</li>
</ul>
我想这基本上就是你想要的。不确定“返回索引”是什么意思-是否只需要为所有没有“禁用”类的项创建一个索引数组


我想这基本上就是你想要的。不确定“返回索引”是什么意思-是否只想为所有没有“禁用”类的项目创建一个索引数组?

类似的方法应该可以:

alert($("li:not(.disabled,.separator)").index());
你可以在这里看到它的作用:


我对你的问题有点困惑,所以如果我有什么错误,请告诉我。我建议你仔细阅读一下这个方法,看看它是否能达到你的预期效果。

类似的方法应该会奏效:

alert($("li:not(.disabled,.separator)").index());
你可以在这里看到它的作用:

我对你的问题有点困惑,所以如果我有什么错误,请告诉我。我建议大家仔细阅读一下这个方法,看看它是否符合你的期望。

我的贡献:

$("li.selected").nextAll(":not(.disabled,.separator)").first().index();
这将获取以下所有同级,过滤掉
.disabled
.separator
,并返回第一个同级的索引。

我的贡献:

$("li.selected").nextAll(":not(.disabled,.separator)").first().index();
这将获取以下所有同级,过滤掉
.disabled
.separator
,并返回第一个同级的索引