这是html,
<div id="wraper">
<div>
<div class="test">1</div>
</div>
<div>
<div class="test">2</div>
</div>
<div>
<div class="test">3</div>
</div>
<div>
<div class="test">4</div>
</div>
<div>
<div class="test">5</div>
</div>
</div>
$("#wraper").find(".test").eq(2);
这将选择test
内的第3个wraper
课程。
我需要在点击eq()
div时获取该索引(我已将其作为参数传递给.test
。
当我点击类名为test
的div时,我需要在wraper
div中获取该div的索引。
$(".test").click(function() {
alert($(this).index());
});
此代码将始终返回0,因为test
div具有父div。因此,如果我使用$(this).parent().index()
,它将返回正确的索引。
还有其他替代方法吗?因为在我的真实场景中,可能有多个级别的父母。
答案 0 :(得分:4)
您可以使用.index()的第3版,它根据调用.index()的元素集返回传递项的索引
var $tests = $(".test").click(function () {
alert($tests.index(this));
});
演示:Fiddle
答案 1 :(得分:-1)
试试这个:
$(".test").click(function() {
alert($(this).parent().index());
});
修改强>
对不起,我误解了这个问题。如果有多个级别的父级,并且您知道需要索引的顶级父级,则可以使用:
$(this).closest('.some-class').index()