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>

现在,当我单击其中一个测试链接时,我想获取父 div 的索引。但是,我希望索引只是div.slide元素。

我尝试了以下方法:

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

上面的警报 0 表示第一个链接,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 回答