2016-10-28 8 views
0

.eachループ内の現在のエレメントが選択項目の最後のエレメントであるかどうかを確認するにはどうすればよいですか?エレメントが選択項目の最後のエレメントであるかどうかを確認

私は、次のコードでそれを試してみました:私は三つの要素を取得しています、クエリで

$('#order').find('.xyz').find('input[id ^="order"]').not('[id $="_zyx"]').each(function (index, element) { 
    var isLast = ($(element) == $('#order').find('.xyz').find('input[id ^="order"]').not('[id $="_zyx"]').last()); 
}); 

。そして、私はこの選択の最後の要素を後で使用するために選択したいと思います。

正しい要素がどれかを判断するために、上のコードでテストしましたが、trueの最後の要素にはisLastfalseがあります。

何か不足していますか?

答えて

4

これにはJqueryを使用する必要はありません。 要素の長さとループのインデックスを使用します。

var elements = $('#order').find('.xyz').find('input[id ^="order"]').not('[id $="_zyx"]'); 

elements.each(function (index, element) { 
    var isLast = (index+1) === elements.length; 
}); 
0

あなたのHTMLを見て参考になるが、あなたはただ、最後のセレクタを使用することができるはずです。 https://api.jquery.com/last-selector/

+0

私の使用HTMLは、このためには関係ありません。私はすべての必要な情報を与えました。クエリーと返される要素の数はどれですか。 – Snickbrack

+1

あなたのjQueryはかなり複雑に見えますが、私たちがHTMLを見ることができれば大幅に単純化することができます。 –

関連する問題