Как узнать положение нажатого элемента? - PullRequest
1 голос
/ 01 июля 2010

Как узнать, в каком положении был нажат элемент списка.

Итак, допустим, я щелкнул второй элемент списка:

<li><a href="#"><span>Tab 2</span></a></li>

Затем я получил быпредупреждение, говорящее что-то вроде:

Вы нажали второй элемент списка?

Код JQuery

$('#top-betting ul li:first').addClass('current');
$('#top-betting div:not(:first)').hide();

$('#top-betting ul li span').click(function()
{
    ...?
});

Разметка

<div id="tabs">
   <ul class="clearfix">
      <li><a href="#"><span>Tab 1</span></a></li>
      <li><a href="#"><span>Tab 2</span></a></li>
      <li><a href="#"><span>Tab 3</span></a></li>
   </ul>

   <div>Content 1</div>
   <div>Content 2</div>
   <div>Content 3</div>
</div>

Ответы [ 3 ]

5 голосов
/ 01 июля 2010

Вы можете сделать это, используя .closest() и .index(), например:

$('#top-betting ul li span').click(function() {
   var index = $(this).closest('li').index();
});

В целом, Я думаю, это то, что вы ищете :

$('#top-betting ul li span').click(function() {
    $("#top-betting div").eq($(this).closest('li').index()).show()
                         .siblings('div').hide();
});​
2 голосов
/ 01 июля 2010

index - это метод, который вам нужен.

$('li a').click(function(e){
        var $li = $(this).parents('li');
        var $ul = $(this).parents('ul');
        alert($ul.children().index($li));
    });

Проверьте jsFiddle: http://jsfiddle.net/9V9D2/

0 голосов
/ 01 июля 2010

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

...