0

このコードは 1,2 を返す必要がありますが、JQ バージョン 1.7.2 でのみ機能し、以前のバージョンと最新の 1.10 ではエラーが発生します....

何故ですか?

.map() 関数を使用すると、後でアップグレードできなくなるということですか?

<input type="checkbox" name="example[]" value="1" checked/>
<input type="checkbox" name="example[]" value="2" checked/>
<input type="checkbox" name="example[]" value="3" />

alert ($('input[name=example[]]:checked').map(function(){return this.value;}).get().join(','));

これは一時的なバグですか?

4

1 に答える 1

2

セレクターで使用される予約文字であるため[、エスケープする必要があります。]セレクターで使用する場合、ID、名前などの外観は二重のバックスラッシュにする必要があります。

alert( $('input[name=example\\[\\]]:checked').map(function(){return this.value;}).get().join(','));

デモ

ドキュメントから

メタ文字 ( !"#$%&'()*+,./:;<=>?@[]^`{|}~ など) を名前のリテラル部分として使用するには、 2 つのバックスラッシュでエスケープする必要があります: \.

于 2013-05-29T01:19:58.887 に答える