获取DOM中所有匹配元素的当前元素的索引

我有一个看起来像这样的DOM结构:

我希望在所有部分中获得具有“当前”类的部分的索引号。 在这个例子中,索引将是5,因为它是第5节标记并包含一类当前。

我如何使用jQuery获得此function?

我从这开始就得到dom中所有部分的列表:

 var sections = $('section'); 

我尝试过这样的事情来尝试获得我想要的结果:

 alert($(sections+'.current').index()); 

这会返回一个js错误。

我在这里想念的是什么? 谢谢!

在你的代码中, $('section')会将所有部分作为jquery对象返回给你。 其中要获取具有current类的段的索引,您可以执行此操作:

 sections.index($(".current")); 

这将返回带有类current的节的相对索引,这将是4,因为$('sections')将返回一个包含所有节元素的jQuery对象Array(0索引)。 所以匹配的元素是第5个元素,索引将返回4.希望这个小提琴有帮助。

 $('.current').index('section'); 

请参阅index文档。

如果选择器字符串作为参数传递,则.index()返回一个整数,指示原始元素相对于选择器匹配的元素的位置。 如果找不到该元素,则.index()将返回-1。

像这样改变

 var sections = 'section'; 

你的代码正在做这个和它的错误

 alert($($('section')+'.current').index());