代码之家  ›  专栏  ›  技术社区  ›  Keith Donegan

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

  •  1
  • Keith Donegan  · 技术社区  · 16 年前

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

    <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 回复  |  直到 15 年前
        1
  •  5
  •   Nick Craver    16 年前

    .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();
    });​
    
        2
  •  2
  •   Jamiec    16 年前

    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/

        3
  •  0
  •   SLaks    16 年前

    你在找 index method .