2章 セレクター
フォーム系フィルター
フォーム系フィルターは、フォーム系の要素をそのタイプや状態で更に絞り込む時に使います。
フォームのタイプでの選択
フォームを構成する要素は、見た目は違っても全てinput要素で、type属性が異なるだけです。(textarea、selectなど一部を除く)
つまり、、、
<input type="text" value="">
<input type="radio" value="">
<input type="checkbox" value="">
これらのtypeごとに選択するためのセレクターです。(:inputと :buttonは、少し異なります)
セレクター | 対象 | 代替方法 |
---|---|---|
:button | 全ての<button>要素と<input type="button">要素 | $("button, input[type='button']") |
:checkbox | チェックボックス | [type="checkbox"] |
:file | ファイル選択ボックス | [type="file"] |
:image | 画像ボタン | [type="image"] |
:input | 全てのフォーム構成要素(input、textarea、select、button要素) | |
:password | パスワード入力ボックス | [type="password"] |
:radio | ラジオボタン | [type="radio"] |
:reset | リセットボタン | [type="reset"] |
:submit | 送信ボタン(button要素の扱いはブラウザによって相違有り) | [type="submit"] |
:text | テキストボックス(<input type="text">) Ver. 1.5.2よりtype="text"の指定が無くても選択します。 (一方、[type="text"]は、選択しません) |
[type="text"] |
// 例
$("input:radio")...
HTML5では、type="tel"を始め、各種入力タイプがありますが、代替方法にあるような書き方で対応できます。
なお、:hiddenについては、少し他と異なるので、下の「表示・非表示でのフィルター」で見てみます。
フォームの状態での選択
以下の4つがあります。
セレクター | 対象 | 使用例 |
---|---|---|
:checked | チェックボックス(checkbox)とラジオボタン(radio)のチェックが入っている状態の要素 | $("input:checked") |
:selected | リストボックス(select+option)の選択されている状態の要素 | $("select option:selected") |
:disabled | 利用不可なフォーム要素 | $('input:disabled') |
:enabled | 利用可能なフォーム要素 | $('input:enabled') |
表示・非表示でのフィルター
要素の表示・非表示でのフィルターです。以下のものがあります。
セレクター | 対象 |
---|---|
:visible | 表示状態の要素 |
:hidden | 非表示状態の要素 |
ここで表示・非表示とは、その要素が画面上のスペースを取っているか否かで判断します。visibility: hiddenやopacity: 0は、visible(表示)と判断されます。
非表示状態は、以下も含みます。
- CSSのdisplay: none
- フォームのtype="hidden"
- 高さと幅が明示的に0に設定されている要素
- 先祖要素が非表示のために非表示となっている要素