Jquery 如何使用包装器元素中的类名获取当前元素的索引

Jquery 如何使用包装器元素中的类名获取当前元素的索引,jquery,html,Jquery,Html,这是html <div id="wraper"> <div> <div class="test">1</div> </div> <div> <div class="test">2</div> </div> <div> <div class="test">3</div>

这是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>
此代码将始终返回0,因为
test
div有一个父div。因此,如果我使用
$(this).parent().index()
,它将返回正确的索引

有没有其他方法可以做到这一点?因为在我的真实场景中,可能有多个层次的父母

试试这个:

$(".test").click(function() {
    alert($(this).parent().index());
});
编辑

对不起,我误解了这个问题。如果存在多个级别的父级,并且您知道需要索引的顶级父级,则可以使用:

$(this).closest('.some-class').index()

您可以使用第三个版本,它根据调用.index()的元素集返回passs项的索引

var $tests = $(".test").click(function () {
    alert($tests.index(this));
});

演示:

谢谢您的回答,我可以同时指定家长吗?我只想知道包裹舱里发生的事太好了,非常感谢。
var $tests = $(".test").click(function () {
    alert($tests.index(this));
});