2011-10-24 11 views
1

私はいくつかのグーグルを行い、かなり複雑なソリューションを見つけましたが、要素インデックスを逆転させるjQueryを取得する簡単な方法があります。インデックスの要素位置を取得するREVERSED

現在

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

私のクラス「elementClass」内でクリックされた要素の位置を与えるが、私はこれが逆転必要はあります!例えば、I第四1がクリックされた場合は、行の5 < span>の要素を持って、私はリターンが1ではなく3(最初の1を0として返される)

答えて

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

これは実際には最後に '+ 1 'を持っている必要があり

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

第四の要素アラートを "1" となるように更新、ここでは例を作業します。最後の要素はインデックス4を持ちますが、配列の長さは5で、結果は-1になります。おそらく '$( '。elementClass')'からオブジェクトをキャッシュしたいと思うでしょう。 –

+0

ソート済み!私は何かシンプルであったことを知っていた、私はそれがwaaayyyy複雑すぎるようにしていた! –

0

になりたいは、ちょうどあなたを保存しますelementClassのクラスの要素のリスト全体を検索し、合計数からインデックスを減算します。 http://jsfiddle.net/vM3Bb/1/

+0

@ RossDarganの答えに対する私のコメントを参照してください。 –

0

これは私の作品:

var element = jQuery(this);     
var reverseIndex = element.parent().children().length-(element.index()+1); 
関連する問題