2012-09-21 70 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

相關問題