获取jQuery对象中DOM对象的索引

时间:2015-06-02 13:06:29

标签: jquery

我有一组jQuery元素,如下所示:

Object[
 div.event_marker, 
 div.event_marker, 
 div.event_marker.selected, 
 div.event_marker, 
 div.event_marker
]

我需要在.selected之前和/或之后直接获取元素。

我知道我可以使用$elements.eq(n+1)...(n-1)执行此操作,其中n等于jQuery对象中.selected的索引。

我如何获得n?

这是小提琴:https://jsfiddle.net/nzvj9t0x/

谢谢!

3 个答案:

答案 0 :(得分:3)

jQuery有一个函数来获取元素的索引。该功能是.index()

将DOM元素传递给该函数将在当前堆栈中搜索它。因此,如果您.filter()选定的元素,则可以使用n

var $all_markers = $('#markers .event_marker');
var n = $all_markers.index($all_markers.filter('.selected'));

答案 1 :(得分:0)

不要看你的内容,看看DOM。

您可以使用

$myJquerySet.find('.selected').prev()

$myJquerySet.find('.selected').next()

答案 2 :(得分:0)

您可以做的是使用选择器匹配元素,然后使用.index()函数检索列表中的位置。

你可以这样做:

var index = $myJquerySet.find('.selected').index();
$elements.eq(index + 1);

那应该在.selected

之后获得元素