2013-05-05 58 views
0

說我有一組HTML標記相同,例如:從一組相同的物品獲取項目的索引

<div id="stuff"> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
</div> 

我附加一個onclick事件,像這樣的跨度:

$(".foo").click(function() { 
    // stuff 
}); 

在我的onclick事件,我想獲得點擊的元素的索引,因此,例如,如果我點擊了3 跨度,我想該指數爲3。我該怎麼做?通常,我會遍歷$("#stuff")並將項目與點擊的項目進行比較,但在這種情況下,它們是相同的。

+0

沒有這個回答你的問題? – PSL 2013-05-06 00:59:01

回答

2

HTML

<div id="stuff"> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
<span class="foo">Foo</span> 
</div> 

jQuery的

$(document).ready(function(){ 
    $('.foo').click(function(){ 
     var x = $(this).index(); 
     alert(x); 
    }); 
}); 

工作演示http://jsfiddle.net/cse_tushar/Jj72A/

4

使用以下命令獲取索引: -

索引相對於其同級爲零。因此對於第三元素你會得到的指數爲2。

$(".foo").click(function() { 
    alert($(this).index()); 
} 

閱讀.index()

Demo

1

你可以寫這樣的:

$(".foo").click(function(){ 
    alert(jQuery.inArray(this,$(".foo"))); 
});