個人的に抜粋したメモです。
細かいところは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を選択できる