jQuery のセレクタ一覧
jQuery のセレクタ一覧を紹介します。
はじめに : "$" について
jQuery は $ と記述できます。
と
は同じ処理になります。
基本
すべての要素を選択する (All Selector)
により、すべての要素を選択します。
指定したクラスの要素を選択する (Class Selector)
により、指定したクラスの要素を選択します。
指定したタグの要素を選択する (Element Selector)
により、指定したタグの要素を選択します。
指定したIDの要素を選択する (ID Selector)
により、指定したIDの要素を選択します。
複数の要素
複数の要素を選択する (Multiple Selector)
jQuery( "selector1, selector2, selectorN" )
により、指定した複数の要素を選択します。セレクタの記述には先に紹介した、クラス指定や、ID指定の書式が利用できます。
記述例
下記の記述例は、h2タグ、toicクラス、myitem IDの要素を選択します。
jQuery( "h2, .topic, #myitem" )
フィルタ
アニメーション要素の選択 (:animated Selector)
アニメーション中の要素を選択します。
位置を指定したセレクタ (:eq() Selector)
指定したインデックス位置の要素を選択します。
偶数番目の要素の選択 (:even Selector)
偶数番目の要素を選択します。
最初の要素の選択 (:first Selector)
最初の要素を選択します。
フォーカスのある要素の選択 (:focus Selector)
フォーカスが当たっている要素を選択します。
指定したインデックス値以上の要素の選択 (:gt() Selector)
指定したインデックス位置以上の要素を選択します。
H1~H6タグの選択 (:header Selector)
ヘッダ要素 H1, H2, H3, H4, H5, H6,... のタグ要素を選択します。
指定したlangを持つ要素の選択 (:lang() Selector)
jQuery( ":lang(language)" )
指定したlangを持つ要素を選択します。
最後の要素の選択 (:last Selector)
最後の要素を選択します。
指定したインデックス以下の要素の選択 (:lt() Selector)
jQuery( ":lt(index)" ) jQuery( ":lt(-index)" )
指定したインデックス一以下の要素を選択します。
指定した要素以外の要素の選択 (:not() Selector)
jQuery( ":not(selector)" )
指定した要素以外の要素を選択します。
例
$("input:not(:checked) + span" ).css( "background-color", "yellow" );
チェックボックスのチェックがついていない要素に隣接するspanタグを選択します。
奇数番目の要素の選択 (:odd Selector)
奇数番目の要素を選択します。
ルート要素の選択 (:root Selector )
root要素、すなわちHTMLの場合はHTMLタグを選択します。
リンク先の要素の選択 (:target Selector)
ページ内リンクのリンク先の要素を選択します。
例
<a href="#penguin">ページ内のリンクです。</a>
<div id="penguin">idがpenguinの要素です。</div>
$("a").click(function(){
$(":target").addClass("red");
});
Attribute
特定の属性で特定の値を持つ要素の選択 (Attribute Contains Prefix Selector [name|="value"] )
jQuery( "[attribute|='value']" )
特定の属性で特定の値を持つ要素を選択します。"-"(ハイフン)で区切られている場合に選択します。
例
jQuery( "[lang|='en']" )
上記の場合
<a href="http://www.ipentec.com/" lang="en">Link</a>
は選択され
<a href="http://www.ipentec.com/" lang="en-us">Link</a>
も選択されますが
<a href="http://www.ipentec.com/" lang="english">Link</a>
は選択されません。
特定の属性で特定の値を持つ要素の選択 (Attribute Contains Selector [name*="value"])
jQuery( "[attribute*='value']" )
特定の属性で特定の値を持つ要素を選択します。
例
jQuery( "[name|='pen']" )
の場合
<input name="penguin"/>
<input name="ballpointpen"/>
<input name="large-pen"/>
は選択されますが
<input name="bear"/>
は選択されません。
Attribute Contains Word Selector [name~="value"]
jQuery( "[attribute~='value']" )
特定の属性で特定の値を持つ要素を選択します。スペースで区切られた場合のみ選択します。
例
jQuery( "[name|='owl']" )
の場合
<input name="jump owl"/>
は選択されますが
<input name="owl-black"/>
<input name="crowl"/>
<input name="rowlcake"/>
は選択されません。
Attribute Ends With Selector [name$="value"]
jQuery( "[attribute$='value']" )
特定の属性で特定の値で終わる要素を選択します。
例
jQuery( "[name|='line']" )
の場合
<input name="goalline"/>
<input name="line"/>
は選択されますが、
<input name="linefeed"/>
<input name="circle"/>
は選択されません。
Attribute Equals Selector [name="value"]
jQuery( "[attribute='value']" )
特定の属性で特定の値の要素を選択します。完全一致です。
Attribute Not Equal Selector [name!="value"]
jQuery( "[attribute!='value']" )
特定の属性で特定の値でない要素を選択します。
Attribute Starts With Selector [name^="value"]
jQuery( "[attribute^='value']" )
特定の属性で特定の値を最初に含む要素を選択します。
例
jQuery( "[name|='line']" )
の場合
<input name="linefeed"/>
<input name="line"/>
は選択されますが、
<input name="goalline"/>
<input name="circle"/>
は選択されません。
Has Attribute Selector [name]
属性が存在する要素を選択します。
例
の場合
<div id="0"/>
は選択されますが、
<div/>
は選択されません。
Multiple Attribute Selector [name="value"][name2="value2"]
jQuery( "[attributeFilter1][attributeFilter2][attributeFilterN]" )
複数の属性要素を選択します。
Child Filter
:first-child Selector
最初の子要素を選択します。
:first-of-type Selector
jQuery( ":first-of-type" )
ブロック中での最初の要素を選択します。
:last-child Selector
最後のの子要素を選択します。
:last-of-type Selector
jQuery( ":last-of-type" )
ブロック中での最後の要素を選択します。
:nth-child() Selector
jQuery( ":nth-child(index/even/odd/equation)" )
指定した位置の子要素を選択します。
例
jQuery( ":nth-child(10)" )
とした場合は10番目の要素を選択します。
jQuery( ":nth-child(even)" )
とした場合は偶数の要素を選択します。
jQuery( ":nth-child(odd)" )
とした場合は奇数の要素を選択します。
jQuery( ":nth-child(5n)" )
とした場合は5の倍数の要素を選択します。
:nth-last-child() Selector
jQuery( ":nth-last-child(index/even/odd/equation)" )
最後の子要素を与えた条件で選択します。
:nth-last-of-type() Selector
jQuery( ":nth-last-of-type(index/even/odd/equation)" )
ブロック中の最後の要素を与えた条件で選択します。
:nth-of-type() Selector
jQuery( ":nth-of-type(index/even/odd/equation)" )
ブロック中の要素を与えた条件で選択します。
:only-child Selector
子要素が1つしかない要素を選択します。
:only-of-type Selector
jQuery( ":only-of-type" )
要素が1つしかない要素を選択します。
Content Filter
:contains() Selector
jQuery( ":contains(text)" )
タグ内に値が含まれるものを選択します。
例
jQuery( ":contains('Penguin')" )
の場合
<div>Penguin Jump</div>
は選択されますが、
<div>Duck Run</div>
は選択されません。
:empty Selector
jQuery( ":empty" )
タグ内が空のものを選択します。
例
jQuery( "td:empty" )
の場合
<td></td>
は選択されますが、
<td>value</td>
は選択されません。
:has() Selector
jQuery( ":has(selector)" )
タグ内に与えたタグが含まれるものを選択します。
例
jQuery( "div:has(p)" )
の場合
<div>ペンギンは<p>南極</p>に住んでいる。</div>
は選択されますが、
<div>ペンギンは上野動物園に住んでいる。</div>
は選択されません。
:parent Selector
jQuery( ":parent" )
空でない要素を選択します。(:emptyの逆です)
Form
:button Selector
jQuery( ":button" )
ボタン(buttonタグ、type="button"であるinputタグ)を選択します。
$( "button, input[type='button']" ).
と同義です。
:checkbox Selector
jQuery( ":checkbox" )
チェックボックスを選択します。
:checked Selector
jQuery( ":checked" )
チェックされているチェックボックス、ラジオボタンを選択します。
:disabled Selector
jQuery( ":disabled" )
disabeledのフォーム要素(disabled="disabled")を選択します。
:enabled Selector
:enabled Selector
有効なフォーム要素を選択します。
:file Selector
jQuery( ":file" )
ファイル参照ボックスを選択します。
:image Selector
jQuery( ":image" )
<input type="image">の要素を選択します。
:input Selector
jQuery( ":input" )
inputタグの要素を選択します。
:password Selector
jQuery( ":password" )
パスワード入力ボックスの要素を選択します。
:radio Selector
jQuery( ":radio" )
ラジオボタンの要素を選択します。
:reset Selector
jQuery( ":reset" )
リセットボタンの要素を選択します。
:selected Selector
jQuery( ":selected" )
セレクトボックスで選択されている要素を選択します。
:submit Selector
jQuery( ":submit" )
Submitボタンの要素を選択します。
:text Selector
jQuery( ":text" )
テキストボックスの要素を選択します。
Hierarchy
Child Selector (“parent > child”)
jQuery( "parent > child" )
指定した要素間で親子関係が成立している要素を選択します。
Descendant Selector (“ancestor descendant”)
jQuery( "ancestor descendant" )
指定した要素間で包含関係が成立している要素を選択します。">"と異なり下位に要素が含まれれば選択対象になります。
Next Adjacent Selector (“prev + next”)
jQuery( "prev + next" )
指定した要素間で隣接関係が成立している要素を選択します。
Next Siblings Selector (“prev ~ siblings”)
jQuery( "prev ~ siblings" )
指定した要素間で前後関係が成立している要素を選択します。"~"と異なり後に続く要素はすべて対象になります。
Visibility Filter
:hidden Selector
jQuery( ":hidden" )
非表示の要素(display:none)の要素を選択します。
:visible Selector
jQuery( ":visible" )
表示されている要素を選択します。
利用できるセレクタ
CSSセレクタ
セレクタ名 | 書式 | 意味 |
要素セレクター | $(要素名) | 特定のHTML要素 |
IDセレクター | $(#ID名) | 特定のid属性を持つ要素 |
クラスセレクター | $(.クラス名) | 特定のclass属性を持つ要素 |
子孫セレクター | $(要素1 要素2) | 特定の要素の内側にある要素 |
ユニバーサルセレクター | $(*) | すべての要素 |
グループセレクター | $(セレクター1) | セレクター2 |
CSS2セレクタ
セレクタ名 | 書式 | 意味 |
子セレクター | $(親要素名 > 子要素名) | 特定の要素の直下の子要素 |
隣接セレクター | $(要素1 + 要素2) | 特定の要素の次の要素 |
first-child擬似クラス | $(要素:first-child) | 同一の親要素内の最初の要素 |
CSS3セレクタ
セレクタ名 | 書式 | 意味 |
間接セレクター | $(要素1 ~ 要素2) | 特定の要素の後に出現する要素 |
否定擬似クラス | $(要素1:not(要素2)) | 特定の要素内で指定した要素以外の要素 |
empty擬似クラス | $(要素:empty")" | 子要素やテキストを含まない要素 |
nth-child擬似クラス | $(要素:nth-child(番号)) | 特定の要素内の指定した番号の要素 |
last-child擬似クラス | $(要素:last-child) | 特定の要素内の最後の要素 |
only-child擬似クラス | $(要素:only-child) | 指定した要素が1つだけ含まれる特定の要素 |
CSS属性セレクタ
セレクタ名 | 書式 | 意味 |
[attribute] $([属性名]) | 特定の属性を持つ要素 | |
[attribute='value'] | $([属性名='値']) | 特定の属性が指定した値を持つ要素 |
[attribute!='value'] | $(要素名[属性名!='値']) | 特定の属性が指定した値を持たない要素 |
[attribute^='value'] | $([属性名^='値']) | 特定の属性が特定した値で始まっている要素 |
[attribute$='value'] | $([属性名$='値']) | 特定の属性が特定した値で終わっている要素 |
[attribute*='value'] | $([属性名*='値']) | 特定の属性が特定した値を含んでいる要素 |
[attributeFilter1][attributeFilter2] | $([属性セレクター1][属性セレクター2]) | 複数の属性セレクターに該当する要素 |
jQuery独自フィルタ
セレクタ名 | 書式 | 意味 |
firstフィルター | $(要素:first) | 同一の親要素内の最初の要素 |
lastフィルター | $(要素:last) | 指定した要素の最後の要素 |
evenフィルター | $(要素:even) | 指定した要素の偶数番目の要素 |
oddフィルター | $(要素:odd) | 指定した要素の奇数番目の要素 |
eqフィルター | $(要素:eq(番号)) | 指定した番号の要素 |
gtフィルター | $(要素:gt(番号)) | 指定した番号より後の要素 |
ltフィルター | $(要素:lt(番号)) | 指定した番号より前の要素 |
headerフィルター | $(要素:header) | h1?h6までのheader要素 |
containsフィルター | $(要素:contains(文字列)) | 特定の文字列が含まれている要素 |
hasフィルター | $(要素1:has(要素2)) | 特定の要素が含まれている要素 |
parentフィルター | $(要素:parent) | 子要素やテキストを含む要素 |
フォームフィルター
セレクタ名 | 書式 | 意味 |
.inputフィルター | $(要素:input) | input要素/textarea要素/select要素/button要素 |
:textフィルター | $(要素:text) | 1行テキスト入力フォーム(type属性がtextのinput要素) |
:passwordフィルター | $(要素:password) | パスワード入力フォーム(type属性がpassowordのinput要素) |
:radioフィルター | $(要素:radio) | ラジオボタン(type属性がradioのinput要素) |
:checkboxフィルター | $(要素:checkbox) | チェックボックス(type属性がcheckboxのinput要素) |
:submitフィルター | $(要素:submit) | 送信ボタン(type属性がsubmit/imagesのinput要素) |
:imageフィルター | $(要素:image) | イメージボタン(type属性がimageのinput要素) |
:resetフィルター | $(要素:reset) | リセットボタン(type属性がresetのinput要素) |
:buttonフィルター | $(要素:button) | ボタン(button要素) |
:fileフィルター | $(要素:file) | ファイル選択フォーム(type属性がfileのinput要素) |
:checkedフィルター | $(要素:checked) | ラジオボタン、チェックボックスでチェックが入っている要素 |
:selectedフィルター | $(要素:selected) | セレクトボックスで選択されている要素 |
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。