使用jQuery获取父索引

时间:2009-08-20 14:16:46

标签: javascript jquery xhtml

<ul class="bullets">
  <li><a href="#">item 1</a></li>
  <li><a href="#">item 2</a></li>
  <li><a href="#">item 3</a></li>
  <li><a href="#">item 4</a></li>
  <li><a href="#">item 5</a></li>
</ul>

当我点击<a>元素时,我想获得它的父<li>索引号。

我正在尝试创建一个不需要列表项上的item-n类的转盘类型函数。

$(".bullets li a").click(function(){

   var myIndex = $(this).parent().index(this);
   showPic(myIndex);

});

感谢您的帮助。

TD。

6 个答案:

答案 0 :(得分:38)

$(this).parent().index();

短而甜蜜

更正:这不短而且很好

从这里来的应该是:

$(".bullets li a").click(function(){
    var myIndex = $(this).parent().index();
    console.log(myIndex);
    showPic(myIndex);
});

答案 1 :(得分:24)

$(".bullets li a").click(function(){

   var myIndex = $(this).parent().prevAll().length;
   showPic(myIndex);

});

注意: prevAll().length 会为您提供从零开始的索引;第一项将是0(零)。

答案 2 :(得分:2)

$(".bullets li a").click(function(){
    var myIndex = $(this).parent().index();
    console.log(myIndex);
    showPic(myIndex);
});

答案 3 :(得分:2)

我是怎么做的

$(".bullets li a").click(function()
    {
  var $li = $(this).parent();
  var myIndex = $li.parent().children().index( $li );
  alert( myIndex );
});

答案 4 :(得分:1)

$(".bullets li a").click(function(){
   var me = $(this);
   var myIndex = $.each($("li", $(this).parent().parent()), function(i, item){
      if(item == me){
      showPic(i);
   });
});

答案 5 :(得分:1)

这是我使用表格创建的解决方案。你可以看到我如何使用选择器。我相信它可以更干净,但你在这里:

    $('.showColumn').live('click',function() {
        var theEl = {{id of the element}};
        var setEl = $('th#' + theEl + '');
        var index = setEl.index(setEl.parentNode);
        $('table tr').each(function() { 
            $('th:eq(' + index + ')',this).show(); 
            $('td:eq(' + index + ')',this).show();
        });
    });

cheers.bo