Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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_Dom_Frontend - Fatal编程技术网

Javascript 如何获取选择数组中元素的索引?

Javascript 如何获取选择数组中元素的索引?,javascript,jquery,dom,frontend,Javascript,Jquery,Dom,Frontend,我需要获得与其父元素有关的多个元素的索引。 在下面的代码中,我认为它应该为注释和标记提供相同的索引,就像它们在相同的中一样,但它没有发生 $('main form').find('form').each(function(){//foreach form在ol标记中 var$drop_targets_index=$('.drop_targets').index($(this.recessed('.drop_targets')); log($(this).closest('.drop_targe

我需要获得与其父元素有关的多个元素的索引。 在下面的代码中,我认为它应该为注释和标记提供相同的索引,就像它们在相同的
中一样,但它没有发生

$('main form').find('form').each(function(){//foreach form在ol标记中
var$drop_targets_index=$('.drop_targets').index($(this.recessed('.drop_targets'));
log($(this).closest('.drop_targets');
log($drop\u target\u index);
});

  • 项目1
  • 项目2
  • each()
    与您的
    一起使用。删除目标

    $('.drop\u targets.drop\u targets')。每个(函数(){
    var$drop\u target\u index=$(this.parent().index()+1;
    log($drop\u target\u index);
    })
    
    项目1
    项目2
    
    因为您使用相同的类名,下面是更改第二个
    类以获取索引的示例

    <div id="main-form">
    <ol class="drop_targets">
        <ol class="drop_targets1 comments">
            <form></form>
            <form></form>
            <form></form>
    
            Item 1
        </ol>
        <ol class="drop_targets1 tags">
            <form></form>
            <form></form>
            <form></form>
            Item 2
        </ol>
    </ol>
    
    另一个解决方案不需要编辑类名

        $('#main-form').find('form').each(function (i,e) { 
            console.log($($('.drop_targets')[0]).find('.drop_targets').index($(e).closest('.drop_targets')));
        });
    

    但是我需要与父drop_targets相关的drop_targets索引,因为索引以0开头。如果希望索引以1开头,则需要执行索引+1。我做了一个更新。它为注释和标记提供了不同的值,这是错误的,因为它们的父drop_目标都处于同一级别。请检查我的上次更新。您不需要获取
    .drop\u targets
    子项的索引,而只需要获取
    .drop\u targets
    父项的索引。它应该是0 0,但我认为您需要1 1作为结果有效的html要求
    的唯一子元素是
  • ,但您可以在
  • 中嵌套任何内容。几乎正确您还需要:
  • 我知道它看起来有点奇怪。我需要它是泛型的,因为我有很多不同类的ols:(我认为我不能更改类名(drop_targets),也不能使用标记和注释类,因为它们将从视图更改为另一个。因此,如果我需要它是泛型的,我必须完成使用drop_targets only类。您的代码想法是对的,但我的情况也有点不同。
    
        $('#main-form').find('form').each(function (i,e) { 
            console.log($($('.drop_targets')[0]).find('.drop_targets').index($(e).closest('.drop_targets')));
        });