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
Javascript 获取我单击的元素相对于jquery集合的索引_Javascript_Jquery_Click - Fatal编程技术网

Javascript 获取我单击的元素相对于jquery集合的索引

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

我这里有一把小提琴,非常简单

我的js在这里

$('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()有点愚蠢,我看到了,哈哈