3

すべてのタイプのテキストボックスを選択する簡単な方法はありますか?

すなわち。<input type=テキストまたは電子メールまたはURLまたは番号/>

パスワードやテキストエリアは気にしません。

例えば。カスタム属性(「特別」)を持つすべてのテキスト入力を選択するこのコードがありますが、短縮できますか?

$("input[type='text'][special],input[type='email'][special],input[type='url'][special],input[type='password'][special]")
4

3 に答える 3

5

:input セレクターは、関心のあるケースをカバーしていますか?

$(":input[special]")

ドキュメント:

:input selector基本的に、すべてのフォーム コントロールを選択します。

追記事項:は jQuery 拡張機能であり、CSS 仕様の一部ではないため、使用するクエリは、ネイティブ DOM の querySelectorAll() メソッドによって提供されるパフォーマンスの向上を利用
できません。を使用して要素を選択するときに最高のパフォーマンスを実現するには、最初に純粋な CSS セレクターを使用して要素を選択し、次に を使用します。:input:input:input.filter(":input")

$("[special]").filter(":input"); 
于 2012-10-30T23:51:52.503 に答える
0

あなたが使用することができます:

$(':input[special]')

それはチェックボックスなども取得しますが.

http://api.jquery.com/input-selector/

于 2012-10-30T23:51:33.817 に答える
0

$(":input[special]")またはを使用できます$("[special]").filter(":input")

しかし、私はこれがより速いと思います:

$("input").filter(function() {
    return this.type !== "hidden" && this.getAttribute("special");
});

またはradioand checkbox'esなし

$("input").filter(function() {
    return this.type !== "hidden" && this.type !== "radio" && this.type !== "checkbox" && this.getAttribute("special");
});

ドキュメントを参照してください:input

:input selector基本的に、すべてのフォーム コントロールを選択します。

追記事項:は jQuery 拡張機能であり、CSS 仕様の一部ではないため、使用するクエリは、ネイティブ DOM の querySelectorAll() メソッドによって提供されるパフォーマンスの向上を利用
できません。を使用して要素を選択するときに最高のパフォーマンスを実現するには、最初に純粋な CSS セレクターを使用して要素を選択し、次に を使用します。:input:input:input.filter(":input")

于 2012-10-31T00:05:56.210 に答える