jQueryセレクタの指定

JavaScript JavaScript

個人的に抜粋したメモです。

細かいところはAPIドキュメントからどうぞ。

OR -複数選択-

複数のセレクタのどれでもいい 場合

$( "div, p, span" )

カンマで区切ることで指定。

AND

間を開けずに記述でANDっぽい使い方に。

$( "div.hoge" )

属性指定

要素[属性]がよく見られる書式だが、[属性]単独でも指定できる

$( "[class]" )
$( "[for]:eq(2)" )

属性を持っているか

$("input[name]")          

属性値が一致するもの

$("input[name='hoge']") 

属性値が一致しないもの

$("input[name!='hoge']") 

属性値が前方一致する

$("input[name^='hoge']") 

属性値が後方一致する

$("input[name$='hoge']") 

属性値が部分一致する

$("input[name*='hoge']") 

複数の属性指定は絞り込みとして働く

$( "input[id][name='fuga']" ).

上記の場合、inputでid属性保持かつname属性がfuga

基本フィルタ

:eq()

$( "li:eq(-2)" )

一致する対象の順番で指定

:gt(index) / :lt(index)

$( "td:gt(4)" )

indexより大きい対象を指定
上記例ならtdの0~4番目は対象外で5番目から。

:not(selector)

$( "input:not(:checked) " )

一致しないセレクタの指定に。
上記ならchecked属性がないinput。

Childフィルタ

:first-child, :only-childなど。
of-type系の方が直感的には使いやすいかもしれない。

:nth-child(n)

$( "div p:nth-child(2)" )

nは1からカウント。
奇数/偶数に odd/even, 3n+1/3n などで倍数指定
n+3 /-n+3 で3番目以降/以前など

:nth-of-type(n)

$( "div p:nth-of-type(2)" )

nth-childは指定の子要素以外の子要素もカウントするが、typeの方は同種の子要素のみカウント
上記例だとp以外にspanとかが前にあってもtypeは2番目のpを選択できる

タイトルとURLをコピーしました