1
<input type="text" name="test[ooo][]">
<input type="text" name="test[bbb][]">
<input type="text" name="test[ccc][]">
<input type="text" name="test[vvv][]">
​
$('input').each(function(){
  console.log($(this).attr('name').index('bbb'));
})​

なぜこれが機能しないのですか?入力から属性名のインデックスを確認するにはどうすればよいですか?

http://jsfiddle.net/UA2BN/

index() を使用する必要はありません。他の機能も使えますが、どうすれば確認できますか?

4

3 に答える 3

2

を探していると思いますindexOf

console.log($(this).attr('name').indexOf('bbb'));

-1

5

-1

-1

http://jsfiddle.net/5uVd9/

于 2012-09-16T00:07:28.130 に答える
1

jQuery はすべての入力要素を選択し、ループして名前を名前文字列として解釈するため、これは機能しません。jQuery の考えでは、これはまったく配列ではありません。

もちろん、名前の部分文字列を選択することで、いつでも特定の入力を選択できます。

console.log( $('input[name*="[bbb]"]') );​

inputこれにより、部分文字列を含む名前のが選択されます[bbb]

于 2012-09-16T00:08:28.100 に答える
1

このコードを試してください:

inputs= document.getElementsByTagName("input");
for(i=0;i<inputs.length;i++)
   alert(i);​
于 2012-09-16T00:08:33.873 に答える