我有一些像这样的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
。我怎样才能改变我为此做的事情?
答案 0 :(得分:22)
将选择器传递给index(),或使用选择器并传递元素 - &gt; $('.slide').index($(this).closest('.slide'))
,无论哪种方式都有效:
$('a.test').click(function(){
var slideIndex = $(this).closest('.slide').index('.slide');
alert(slideIndex);
});