2012-09-21 30 views

回答

8

您需要存储原始集合并在该集合上调用index

var links = $('section a').on('click', function() { 
    alert(links.index(this)); 
}); 

jsFiddle


与您的代码的问题是,$(this).index()将获得元素相对于其同级中的索引。由于a元素没有任何兄弟,因此索引始终为0。我已链接的API页面解释了如果DOM元素是参数,index函数的工作原理。

+0

有趣的是,这个伟大的工程。我不认为存储它有所作为,显然它确实!谢谢 – Huangism

+0

@黄色请参阅编辑解释。 – lonesomeday

+0

是的,当然,调用$(this)上的index()是有点愚蠢的,现在我看到它哈哈 – Huangism

2

lonesomeday有一个好办法做到这一点,但另一种方式是:

$('section a').on('click', function(e) { 
    alert($.inArray(e.target, $('section a'))); 
});​ 

jsFiddle example

相关问题