2013-11-08 1 views
0

У меня есть слайд-шоу, приводимое в действие миниатюрами под основным изображением. У меня есть фиксированная ширина и больше миниатюр, чем в этом месте. То, что я хочу сделать, - это просто проверить, какое число миниатюр я включен, и если это больше, чем поместится в пространстве, отрегулируйте маржу, так что я хочу знать:Подсчитайте элементы, а затем верните индекс определенного элемента?

Я знаю, как подсчитать количество элементы с .length, но как я могу проверить индекс элемента с активным классом?

<ul> 
    <li>one</li> 
    <li>two</li> 
    <li>three</li> 
    <li class='active'>four</li> 
    <li>five</li> 
</ul> 
+6

Метод ... drumroll ... ['.index()'] (http://api.jquery.com/index/) – JJJ

+0

Ну, они не могут все быть вопросами премии тысячелетия. – Sam

ответ

1

В качестве .index() docs состояния:

Если аргумент не передается методу .index(), возвращаемое значение целое число, указывающее положение первого элемента внутри объекта JQuery по сравнению с его родственными элементами.

Если .index() вызывается на совокупность элементов и элемента DOM или объекта JQuery передается в, .index() возвращает целое число, указывающее положение переданного элемента по отношению к исходной коллекции.

Так это будет работать для вас:

$('li.active').index() // Returns 3 

jsFiddle example

Помните, что отсчет начинается с нуля.

Смежные вопросы