2011-09-22 68 views
1

我想要獲取由jquery選擇器返回的數組內的元素的索引。在選擇器數組中的元素的jQuery索引

這裏是我的代碼:

$("div").click(function(){ 
    alert($.inArray($(this), $("#div"))); 
}); 

的一個例子,這個HTML:

<div>A</div> 
<div>B</div> 
<div>C</div> 
<div>D</div> 

我希望它顯示爲 「4」,當用戶點擊包含D.在div有什麼如何做到這一點?這個inArray函數似乎沒有做到我在應用於選擇器時所期望的。

回答

0

你可以使用另一種方法是prevAll()

alert($(this).prevAll("div").length + 1); 
0

嘗試

的.index()

VAR將selectedItem = $(本); var index = $('div')。index(selectedItem);

0

這裏是你的代碼的更新,將工作 -

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

的變化 -

  • 改變了選擇傳遞到從#divinArray的數組變量div
  • 傳遞一個正常的JavaScript DOM元素而不是jQuery將 元素包裝到inArray函數中

工作演示 - http://jsfiddle.net/ipr101/CfY8j/