12

次のような HTML があります。

<div class="slide">
  <a href="#" class="test">Test</a>
</div>
<div class="other">
  ...
</div>
<div class="slide">
  <a href="#" class="test">Test</a>
</div>
<div class="other">
  ...
</div>

ここで、テスト リンクの 1 つをクリックすると、親 div のインデックスを取得したいと考えています。div.slideしかし、インデックスは要素だけにしたいのです。

私は次のことを試しました:

$('a.test').click(function(){
  var slideIndex = $(this).parents('.slide').index();
  alert(slideIndex);
});

上記は、最初のリンクに対して 0 を、2 番目のリンクに対して 2 をアラートします。2番目のリンクであるため、2番目のリンクに対してアラート1を発生させたいdiv.slide。これを行うために行ったことをどのように変更できますか?

4

1 に答える 1

23

セレクターを index() に渡すか、セレクターを使用して要素 -> を渡し$('.slide').index($(this).closest('.slide'))ます。どちらの方法でも機能します。

$('a.test').click(function(){
  var slideIndex = $(this).closest('.slide').index('.slide');
  alert(slideIndex);
});
于 2013-09-26T14:23:00.513 に答える