Javascript 获取我单击的元素相对于jquery集合的索引
我这里有一把小提琴,非常简单 我的js在这里Javascript 获取我单击的元素相对于jquery集合的索引,javascript,jquery,click,Javascript,Jquery,Click,我这里有一把小提琴,非常简单 我的js在这里 $('section a').on('click', function() { alert($(this).index()); }); 它总是返回0,因为在节中只有1个锚标记。我想要的是它返回jquery集合中单击元素的位置。因此,如果我单击最后一个节锚,它将返回2(基于0)您需要存储原始集合并调用该集合 var links = $('section a').on('click', function() { alert(links
$('section a').on('click', function() {
alert($(this).index());
});
它总是返回0,因为在节中只有1个锚标记。我想要的是它返回jquery集合中单击元素的位置。因此,如果我单击最后一个节锚,它将返回2(基于0)您需要存储原始集合并调用该集合
var links = $('section a').on('click', function() {
alert(links.index(this));
});
代码的问题是
$(this).index()
将获取元素相对于其同级的索引。由于a
元素没有任何同级,因此索引总是0
。我链接的API页面解释了如果DOM元素是参数,index
函数如何工作。lonesomeday有一个很好的方法,但另一种方法是:
$('section a').on('click', function(e) {
alert( $.inArray(e.target, $('section a')) );
});
有趣的是,这非常有效。我不认为存储它有什么不同,显然它有!当然,谢谢,现在在$(这个)上调用index()有点愚蠢,我看到了,哈哈