jquery alert .eq () value - PullRequest
       25

jquery alert .eq () value

0 голосов
/ 20 февраля 2012

Я вроде понимаю, как функция .eq () работает в jquery,

<ul>
<li>item 2</li>
<li>item 4</li>
<li>item adf</li>
<li>item f</li>
</ul>

$('ul').find('li').eq(3); //this gives item f

но что, если я захочу нажать на пункт adf, как мне получить предупреждение 2.

$('ul li').click(function(){
alert('//getting eq value'); //and then when clicked, it should say 2
});

Спасибо

Ответы [ 3 ]

8 голосов
/ 20 февраля 2012

Вы ищете метод index:

alert($(this).index());

Из документов:

Если аргумент * 1010 не передается* method, возвращаемое значение является целым числом, указывающим положение первого элемента в объекте jQuery относительно его родственных элементов.

0 голосов
/ 11 июня 2014

Приведенные выше решения не будут работать, если список длинный.index () возвращает относительное значение и значение изменится, когда будет добавлено больше тегов списка.

возможно, вам следует сделать следующее:

$('ul li').click(function(){
     var currentListIndex = $('ul li').index(this);
     alert(currentListIndex);
});
0 голосов
/ 20 февраля 2012

Чтобы получить индекс выбранного элемента, вы можете использовать this в качестве селектора для выбора выбранного элемента, а затем метод index () для получения индекса элемента:

$("ul li").click(function(){
   alert($(this).index());
});
...