Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找某个类的父级索引_Javascript_Jquery - Fatal编程技术网

Javascript 查找某个类的父级索引

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

我有以下HTML:

<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;
 }
});