2011-10-24 43 views
1

我已經完成了一些Google搜索並找到了一些相當複雜的解決方案,但有沒有一種簡單的方法可以讓jQuery反轉元素索引。獲取索引中的元素位置REVERSED

目前

$('.elementClass').index(this); 

會給我班「elementClass中」內點擊的元素的位置,但我需要這個逆轉!例如,我有5 < SPAN>連續元素,如果第4一個被點擊,我想回報是1,而不是3(第一個返回爲0)

回答

4
var elements = $('.elementClass'); 
var reversedIndex = (elements.length -elements.index(this))+1; 
+1

這實際上應該有'+ 1'底。最後一個元素的索引爲4,但數組的長度爲5,結果爲-1。你可能也想緩存來自$('。elementClass')'的對象。 –

+0

Sorted!我知道有一些簡單的東西,我讓它太複雜了! –

0

只是存儲您的整個類的元素列表,並從總數中減去索引。

var elements = $('.elementClass'); 
elements.click(function() { 
    alert(elements.length - elements.index($(this)) - 1); 
}); 

工作示例這裏,更新,第4單元警報 「1」:http://jsfiddle.net/vM3Bb/1/

+0

請參閱我對@ RossDargan的回答的評論。 –

0

這個工作對我來說:

var element = jQuery(this);     
var reverseIndex = element.parent().children().length-(element.index()+1);