如何找出点击元素的位置?

时间:2010-07-01 15:34:13

标签: jquery click position

如何找出点击列表项的位置。

所以,假设我点击了第二个列表项:

<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 个答案:

答案 0 :(得分:5)

你可以使用.closest().index()这样做:

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

总体而言,I think this is what you're after

$('#top-betting ul li span').click(function() {
    $("#top-betting div").eq($(this).closest('li').index()).show()
                         .siblings('div').hide();
});​

答案 1 :(得分:2)

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/

答案 2 :(得分:0)

您正在寻找index method