Jquery 如何找到父项单击子项的索引
单击子级时,我想知道父索引号。例如,当我单击每个ul的子级时,有一个带有3个ul的div,它应该显示其父级的父索引号。我怎么能得到这个 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()]);
$('.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);
});