2012-01-19 10 views
2

配列の1つ以上の位置をどのように参照できますか?あなただけのjQueryを使用している場合、この配列の複数の位置

$("#reset").click(function() { 
$("form")[0, 2].reset(); 
}); 

答えて

1

よう 何か、あなたはすべてのセレクタでこれを行うことができます。

$("#reset").click(function() { 
    $("form:eq(0), form:eq(2)").reset(); 
}); 

EDIT:これを行うにはfilterを使用するとよいでしょう(感謝@Gumbo):

$("#reset").click(function() { 
    $("form").filter(":eq(0),:eq(2)").reset(); 
}); 
+1

'$(" form ")フィルタ(":eq(0)、:eq(2) ")'が良いでしょう。 – Gumbo

+0

':(2)'、それとも ':eq'と':lt'はネイティブなセレクタではないので、 '$( 'form')。splice(0,2)'。 –

+1

@RobW: 'form:lt(2)'は0と1をとります。 ':eq(0)、:eq(2)'は0と2を返します。 'splice'の問題は返されるオブジェクトがjQueryオブジェクト(配列)です。 –

0

多次元JavaScript配列がmyarrayのように参照されるだろう[I] [J](例:MyArrayという[0] [2])。あなたのコード例は意味をなさないようです。

+1

私は最初と3番目のフォームのみをリセットしようとしています。 – Mosaic

0

最も簡単な方法は、単にこれを行うことです。よりよい方法は、それぞれに共通のクラス「MyClassのを」置くことであろう

var forms = $("form"); 
forms[0].reset(); 
forms[2].reset(); 

$("form")[0].reset(); 
$("form")[2].reset(); 

か、もう少し効率的にこれらの2つのフォームは、次のようになります。

$("form.myClass").each(function() {this.reset();}); 
0

セレクタを変数に保存してからindizes?

var form = $('form'); 
[1, 2].each(function(value, index) { 
    form[value].reset(); 
}); 
関連する問題