:input
はjQuery extensionであり、input
はCSSセレクタである。
textarea
,button
およびselect
の要素は、前者と一致するが後者は一致しない。
後者は高速ですので、具体的なradio
の例に使用してください。厳密に<input>
タグでない場合でも、「すべてのフォーム要素」を使用する場合は:input
を使用してください。その場合でも、最初に標準のCSSセレクタを使用し、そのセットに.filter(':input')
を使用することをお勧めします。
ので:入力がjQueryの拡張はなく、CSS 仕様の一部であり、使用するクエリ:入力はネイティブDOM querySelectorAll() 方法によって提供 パフォーマンス向上の利点を取ることができません。要素を選択して 要素を選択する場合は、まず純粋なCSSセレクタを使用して要素を選択し、 .filter( ":input")を使用して最高のパフォーマンスを達成します。 1.7.2ソースで
、:入力フィルタはnodeNameのに対して正規表現をテスト:
input: function(elem) {
return (/input|select|textarea|button/i).test(elem.nodeName);
},
一つが専門である、[** ':input' **](http://api.jquery.com/input-selector/)セレクタ、他方はですジェネリック[** 'Element' **](http://api.jquery.com/element-selector/)セレクタ。 – mellamokb