2009-05-05 12 views

答えて

123
$('input[type=text], textarea').css({width: '90%'}); 

、jQueryのは、例えば、様々なフォーム要素の擬似選択フィルタのセットを有する:

$(':text').css({width: '90%'}); 

は全て<input type="text">要素にマッチします。詳細はSelectors documentationを参照してください。

+6

:テキストセレクタはテキストエリアを選択しません(最新のjQueryではatleast)。私はまた、jQueryのドキュメントで、テキストセレクタについて何かを追加したかったのです。 "テキストはjQuery拡張であり、CSS仕様の一部ではないため、テキストを使ったクエリはネイティブDOM querySelectorAllによって提供されるパフォーマンスの向上を利用できません)メソッドを使用してください。現代のブラウザーでのパフォーマンスを向上させるには、代わりに[type = "text"]を使用してください。 – Pehmolelu

+1

$( ':text')はパスワードフィールドでは機能しません。 – Fatih

1
$("**:**input[type=text], :input[type='textarea']").css({width: '90%'}); 
+0

なぜ同じ回答を2回投稿するのですか?軽微な違いについて特別なことがあれば、それらを説明してください! – roryf

+0

私は個人的にjQueryの:入力疑似セレクタについて知っていることを感謝します。 +1新しいものを私に見せてくれる。 – eyelidlessness

+3

:入力[type = 'textarea']は最新のjQueryでは動作しません。テキストエリアを使用する必要があります。 – Pehmolelu

13

[パスワード]ボックスにもテキストボックスですので、あなたも、それらを必要とする場合:

$("input[type='text'], textarea, input[type='password']").css({width: "90%"}); 

とファイル入力が少し異なっている間、あなたは、例えば(あまりにもそれらを含めることができ、視覚的一貫性を保つために。 ):

$("input[type='text'], textarea, input[type='password'], input[type='file']").css({width: "90%"}); 
0
names = []; 
$('input[name=text], textarea').each(
    function(index){ 
     var input = $(this); 
     names.push(input.attr('name')); 
     //input.attr('id'); 
    } 
); 

それは、$ .each関数を反復処理がecahエルの名前を提供するために、あなたのDOM、内のすべてのテキストボックスやテキストエリアを選択ement。

関連する問題