2010-12-02 11 views
2

が、私はこのコードを持っている:jQueryのname = "thisまたはthat"?

$("input[name=foo]:checked,input[name=bar]:checked") 

を私のようなもので、それを小さくしたいと思います:

$("input[name=foo|bar]:checked") 

そのようなものはありますか?

+5

クラスには 'foobar'を指定してから' $( "input.foobar:checked")を使用します。 – Fosco

+13

そのようなものを小さくすることを心配するべきではありません。あなたのコードで他のことを心配してください。 –

+6

私はLucaに同意する必要があります。特に、物事を小さくする状況によっては、セレクターの速度が若干遅くなることがあります。 –

答えて

1

あなたが本当にことをしたい場合は、ジェームズPadolseyのregex selector使用することができます。

$("input:regex(name,^(foo|bar)$):checked") 

しかし、それは私の意見では、あなたの元のコードよりも少ないクリアなのですが。

2

入力として最も短いバージョンは、名前を持つ必要がある唯一のものです。

$('[name=foo],[name=bar]'); 

実際に確認できるのは、入力として少し安全です。短い

$(":checked").filter('[name=foo],[name=bar]'); 
元のセレクタとまったく同様に安全

が、2つの文字:

$("input:checked").filter('[name=foo],[name=bar]'); 

しかし、一般的に、私は同意するが、本当の必要はありません、あなたは他の場所であなたの時間を過ごす方がいいでしょう。

関連する問題