2012-05-13 12 views
14
$('#button').click(function() { 
    alert($('.column').val()); 
}); 

.columnの最初の要素、2番目の要素、または3番目の要素を取得するにはどうすればよいですか?JQueryは配列のn番目の要素を取得します

+0

http://jsbin.com/icevih/edit#javascript,htmlあなたは3のいずれかの第一、第二、または第三の意味をしたいですか?または、それらのすべてが欲しいですか?そして、あなたはクラス '.column'を持つ3つの要素、または親' .column'要素の中の3つの要素を参照していますか? – Sampson

答えて

26
$('#button').click(function() { 
    alert($('.column').eq(0).val()); // first element 
    alert($('.column').eq(1).val()); // second 
    alert($('.column').eq(2).val()); // third 
}); 
3

スライス()関数を使用します http://api.jquery.com/slice/

参照の質問: How to select a range of elements in jQuery

$('.column').slice(0, 2).each(function() { 
    $(this).val(); /* my value */ 
}); 
+0

スライスはそれを行うことができますが、その関数はインデックスの場合に範囲を選択するのに本当に理想的です。確かに単一のインデックスを選択するのに最適な機能がありますか? – Norse

+0

あなたはnth-childまたはeq()のような意味ですか?あなたは最初の3つを望んでいたと言いましたが、誤解されたかもしれませんが、それは一連の指標の定義と思われますか? – Jeff

6

私はセレクタ文字列が好きなので、私は通常、次の操作を行います。

$('.column:eq(3)') // Fourth .column element 
+1

私はそれらを純粋にスタイルにしていますが、jQueryのドキュメントでは、最新のブラウザのパフォーマンスについてはeq()を上回る.eq()を推奨しています。http://api.jquery.com/eq-selector/ – Jeff

1

をあなたは01を使うことができます(小なり)セレクタとインデックス3以下のすべての.columnの要素を示すことによって、あなたが0, 1, and 2をしたいということを教え:

$("#button").on("click", function(){ 
    $(".column:lt(3)").each(function(){ 
    alert(this.value); 
    }); 
}); 

デモ: