Javascript 查找某个类的父级索引
我有以下HTML:Javascript 查找某个类的父级索引,javascript,jquery,Javascript,Jquery,我有以下HTML: <div class="Wrapper"> <div class="SomeOtherClass"></div> <div class="SomeOtherClass"></div> <div class="MyClass"> <div class="SomeElement" id="test"></div> <div cla
<div class="Wrapper">
<div class="SomeOtherClass"></div>
<div class="SomeOtherClass"></div>
<div class="MyClass">
<div class="SomeElement" id="test"></div>
<div class="SomeElement"></div>
</div>
<div class="MyClass">
<div class="SomeElement" id="test2"></div>
<div class="SomeElement"></div>
</div>
</div>
如您所见,我循环遍历所有someelement
,然后选择一个。现在我想知道父类的索引(这里是“MyClass
”)。例如,如果我选择了“test
”,那么的indexofparentclass
应该是0,如果我选择了test2
,那么的indexofparentclass
应该是1。请注意,SomeOtherClass
的元素数量可能会有所不同;我不想要父级的实际索引,我想要父级类相对于包装器
元素的所有子级的索引。我该怎么做
谢谢。我想你想要这个:
$('.Wrapper').find('.MyClass').each(function(TheIndexOfParentClass) {
$('.SomeElement', this).each(function(){
if (SomeCondition) {
var TheElement = $(this);
将迭代索引传递给回调函数,因此通过分解迭代,您可以让jQuery为您计数。如果您想继续使用流程,您也可以通过将类传递给index方法来完成此操作
$('.Wrapper').find('.SomeElement').each(function () {
if (SomeCondition) {
var TheElement = $(this);
var TheIndexOfParentClass = TheElement.parent().index('.MyClass'); //HERE
return;
}
});
我们在这里避免的是每个循环的两倍。父循环只有一个类?只有
MyClass
?
$('.Wrapper').find('.SomeElement').each(function () {
if (SomeCondition) {
var TheElement = $(this);
var TheIndexOfParentClass = TheElement.parent().index('.MyClass'); //HERE
return;
}
});