web-dev-qa-db-ja.com

jQueryで親インデックスを取得する

<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。

23
TD540
_$(".bullets li a").click(function(){

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

});
_

注:prevAll().lengthは、ゼロベースのインデックスを提供します。最初の項目は0(ゼロ)になります。

26
James

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

短くて甘い

訂正:これは短くて甘いものではありません

これが来るところからそれは次のようになるはずです:

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

どうすればいいですか

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

これが私がテーブルを使って作成したソリューションです。セレクターの使い方がわかります。きっともっときれいになるかもしれませんが、ここにあります:

    $('.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

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