目次

jQuery のセレクタ一覧 - jQuery

jQuery のセレクタ一覧を紹介します。

はじめに : "$" について

jQuery は $ と記述できます。
jQuery( "*" )
$( "*" )
は同じ処理になります。

基本

すべての要素を選択する (All Selector)

jQuery( "*" )
により、すべての要素を選択します。

指定したクラスの要素を選択する (Class Selector)

jQuery( ".クラス名" )
により、指定したクラスの要素を選択します。

指定したタグの要素を選択する (Element Selector)

jQuery( "タグ名" )
により、指定したタグの要素を選択します。

指定したIDの要素を選択する (ID Selector)

jQuery( "#id名" )
により、指定したIDの要素を選択します。

複数の要素

複数の要素を選択する (Multiple Selector)

jQuery( "selector1, selector2, selectorN" )
により、指定した複数の要素を選択します。セレクタの記述には先に紹介した、クラス指定や、ID指定の書式が利用できます。

記述例

下記の記述例は、h2タグ、toicクラス、myitem IDの要素を選択します。
  jQuery( "h2, .topic, #myitem" )

フィルタ

アニメーション要素の選択 (:animated Selector)

jQuery( ":animated" )
アニメーション中の要素を選択します。

位置を指定したセレクタ (:eq() Selector)

jQuery( ":eq(index)" )
jQuery( ":eq(-index)" )
指定したインデックス位置の要素を選択します。

偶数番目の要素の選択 (:even Selector)

jQuery( ":even" )
偶数番目の要素を選択します。

最初の要素の選択 (:first Selector)

jQuery( ":first" )
最初の要素を選択します。

フォーカスのある要素の選択 (:focus Selector)

jQuery( ":focus" )
フォーカスが当たっている要素を選択します。

指定したインデックス値以上の要素の選択 (:gt() Selector)

jQuery( ":gt(index)" )
jQuery( ":gt(-index)" )
指定したインデックス位置以上の要素を選択します。

H1~H6タグの選択 (:header Selector)

jQuery( ":header" )
ヘッダ要素 H1, H2, H3, H4, H5, H6,... のタグ要素を選択します。

指定したlangを持つ要素の選択 (:lang() Selector)

jQuery( ":lang(language)" )
指定したlangを持つ要素を選択します。

最後の要素の選択 (:last Selector)

jQuery( ":last" )
最後の要素を選択します。

指定したインデックス以下の要素の選択 (:lt() Selector)

jQuery( ":lt(index)" ) jQuery( ":lt(-index)" )
指定したインデックス一以下の要素を選択します。

指定した要素以外の要素の選択 (:not() Selector)

jQuery( ":not(selector)" )
指定した要素以外の要素を選択します。

$("input:not(:checked) + span" ).css( "background-color", "yellow" );
チェックボックスのチェックがついていない要素に隣接するspanタグを選択します。

奇数番目の要素の選択 (:odd Selector)

jQuery( ":odd" )
奇数番目の要素を選択します。

ルート要素の選択 (:root Selector )

jQuery( ":root" )
root要素、すなわちHTMLの場合はHTMLタグを選択します。

リンク先の要素の選択 (:target Selector)

jQuery( ":target" )
ページ内リンクのリンク先の要素を選択します。

  <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]

jQuery( "[attribute]" )
属性が存在する要素を選択します。
$( "div[id]" )
の場合
 <div id="0"/>
は選択されますが、
 <div/>
は選択されません。

Multiple Attribute Selector [name="value"][name2="value2"]

jQuery( "[attributeFilter1][attributeFilter2][attributeFilterN]" )
複数の属性要素を選択します。

Child Filter

:first-child Selector

jQuery( ":first-child" )
最初の子要素を選択します。

:first-of-type Selector

jQuery( ":first-of-type" )
ブロック中での最初の要素を選択します。

:last-child Selector

jQuery( ":last-child" )
最後のの子要素を選択します。

: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

jQuery( ":only-child" )
子要素が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の積極的な活用にも取り組み中。
とっても恥ずかしがり。
掲載日: 2013-12-26
iPentec all rights reserverd.