1

のリストがありますは、以下のようなDIVコンテナーDIVです。

  <div id="ChainLinkList">
  <div class="chainSelect" id="L2176">jj</div>
  <div class="chainSelect" id="L2171">suby 3</div>
  <div class="chainSelect" id="L2170">suby 2</div>
  <div class="chainSelect" id="L2167">submenu</div>
  </div>

DIVクリックしたときに特定の順序を取得したいと思います。私は次のことを試しました

   $(".chainSelect").live("click", function() {
   var index = $(this).parent().index(".chainSelect");
   alert(index);
   .....

また

   $(".chainSelect").live("click", function() {
   var index = $('#ChainLinkList').parent().index(".chainSelect");
   alert(index);
   .....

しかし、私は-1を取得しているようです

4

5 に答える 5

7

$(this).index();親内のクリックされたアイテムのインデックスを取得するために呼び出すことができます:

$(".chainSelect").live("click", function() {
   var index = $(this).index();
   alert(index);
});​

http://jsfiddle.net/5ShLs/

于 2012-12-28T10:42:13.037 に答える
1

あなたはこれを試すことができます:

.live推奨されていないため、.on()handlerを使用することをお勧めします

 $(document).on("click", ".chainSelect", function(){
   var index = $(this).index();
   alert(index);
 });
于 2012-12-28T10:47:12.737 に答える
1

あなたは変わるべきです

$(".chainSelect").live("click", function() {
   var index = $(this).parent().index(".chainSelect");
   alert(index);
});

為に:

$(".chainSelect").live("click", function() {
   var index = $(".chainSelect").index(this);
   alert(index);
});​

フィドル

于 2012-12-28T10:47:36.253 に答える
0

まず..

    $('#ChainLinkList').parent() 

これで、div chainlinklist の親を呼び出しています。ここでは、それ自体が必要な elemnt div の親です。したがって、これは役に立ちません。
したがって、これを試してください..

    $(this).index(); 
于 2012-12-28T10:44:00.973 に答える
0

親に移動する必要はありません..クリックした要素のインデックスを取得するだけです..

jQuery 1.7 以降、この.live()メソッドは非推奨になりました。

$(".chainSelect").on("click", function() {
  var index = $(this).index();
  alert(index);
});​
于 2012-12-28T10:44:25.763 に答える