:text 非推奨

$(':text') 1.0追加

テキスト要素(input type="text")を選択します。

補足事項

擬似セレクタ「:」を使用する場合は、その前にタグ名や他のセレクタを付けることを推奨します。 それが出来なければ、("*")が指定されたことになります。
そのため、$(':text') は $('*:text')と等価になるため、 代わりに$('input:text')を使用することを推奨します。

jQuery1.5.2から、:textは属性を持たないINPUT要素も選択するようになりました。(暗黙的にtype="text"と解釈します)

$(':text')と$('[type=text]')は下記の違いがあります。

$('<input>').is('[type=text]'); // false
$('<input>').is(':text');       // true

:textはjQueryが独自に拡張した仕組みでCSSには存在しない概念です。 そのため、querySelectorAll()によって提供されるパフォーマンスを享受することが出来ません。 モダンブラウザでは、[type="text"]を使用することを推奨します。

デモ

全てのテキスト要素を選択し、マークします。

<!DOCTYPE html>
<html>
<head>
<style>
  textarea { height:35px; }
  div { color: red; }
  fieldset { margin: 0; padding: 0; border-width: 0; }
  .marked { background-color: yellow; border: 3px red solid; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <form>
  <fieldset>
    <input type="button" value="Input Button"/>
    <input type="checkbox" />
    <input type="file" />
    <input type="hidden" />
    <input type="image" />
    <input type="password" />
    <input type="radio" />
    <input type="reset" />
    <input type="submit" />
    <input /><!-- type無し -->
    <input type="text" />
    <select><option>Option<option/></select>
    <textarea></textarea>
    <button>Button</button>
  </fieldset>
</form>
<div>
</div>
<script>
  var input = $("form input:text").css({background:"yellow", border:"3px red solid"});
  $("div").text( "対象要素の数は" + input.length + "個です。" );
  $("form").submit(function () { return false; }); //submit無効
</script>
</body>
</html>

 Back to top

© 2010 - 2017 STUDIO KINGDOM