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