Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
Jquery 如何找到父项单击子项的索引_Jquery - Fatal编程技术网

Jquery 如何找到父项单击子项的索引

Jquery 如何找到父项单击子项的索引,jquery,Jquery,单击子级时,我想知道父索引号。例如,当我单击每个ul的子级时,有一个带有3个ul的div,它应该显示其父级的父索引号。我怎么能得到这个 jQuery: $('.opSection').on('click','li',function(){ var num = $(this).parent('ul').index(); alert(num); //alert(chartData.Indices[$(this).index()][$(this).index()]);

单击子级时,我想知道父索引号。例如,当我单击每个ul的子级时,有一个带有3个ul的div,它应该显示其父级的父索引号。我怎么能得到这个

jQuery:

$('.opSection').on('click','li',function(){

    var num = $(this).parent('ul').index();

    alert(num);

    //alert(chartData.Indices[$(this).index()][$(this).index()]);

    })
HTML:

//所有
  • 全印度
  • //当我单击任何一个li时,我需要0
  • 全印度
  • //单击此按钮时,我需要1
注意在处理多个元素的事件时,我使用事件委派来提高性能

这里的重要部分是选择
ul
,然后,当不带参数传递时,返回其相对于同级元素的位置

编辑正如您在评论中所说,您的标记与问题中发布的标记不同,请尝试以下操作:

$('.opSection').on('click', 'li', function (e) {
    $(e.delegateTarget).find('.selectGroup').index(this.parentNode);
});

$(e.delegateTarget)
$('.opSection')
相同(但速度更快)。然后,我们在所有子体()中搜索所有的
,并使用相同的
index()
方法查找我们单击的子体的位置。

它始终只给出0。UL不是(“.opSection”)的直接子项,它没有子项,其中一个子项是UL
$('.opSection').on('click', 'li', function () {
    alert($(this).parent().index();
});
$('.opSection').on('click', 'li', function (e) {
    $(e.delegateTarget).find('.selectGroup').index(this.parentNode);
});