获取我相对于jquery集合单击的元素的索引
我这里有一个小提琴,非常简单。
http://jsfiddle.net/tnQne/
我有的js就在这里
$('section a').on('click', function() { alert($(this).index()); });
它总是返回0,因为在部分内只有1个锚标记。 我想要的是它返回jquery集合中被点击元素的位置。 因此,如果我点击最后一个锚点,它将返回2(基于0)
您需要在该集合上存储原始集合和调用index
。
var links = $('section a').on('click', function() { alert(links.index(this)); });
的jsfiddle
您的代码的问题是$(this).index()
将获得元素相对于其兄弟的索引。 由于a
元素没有任何兄弟,因此索引始终为0
。 我链接的API页面解释了如果DOM元素是参数, index
函数的工作原理。
lonesomeday有一个很好的方法,但另一种方式是:
$('section a').on('click', function(e) { alert( $.inArray(e.target, $('section a')) ); });
jsFiddle示例