コンピュータを研究に使うための私的メモ。Python、Fortran、Ubuntu、etc...


jQueryの基本

コードの書き方

$(function() {
  ...
});
のように「$(function() {...});」で囲むとhtmlが読み込まれてから動作する。jQueryのコードはhtmlの要素を操作する場合がほとんどなので、この書き方を常にするようにしたほうがいい。

セレクター構文

jQueryでは、セレクターによってhtmlの要素を取り出せる。

基本

$('タグ名')指定したタグ名の要素をすべて選択
$('#id名')指定したid名の要素を選択
$('.クラス名')指定したクラスに属する要素をすべて選択
複数の条件で「いずれかに合致する」、「いずれにも一致する」を選択することもできる。
  • (例)クラス名がclass1、かつクラス名がclass2
要素・属性をスペースで区切らずに記述する。
$('.class1.class2')
(注)スペースで区切った場合は階層条件になる。
  • (例)クラス名がclass1、またはクラス名がclass2
要素・属性をカンマで区切って記述する。
$('.class1, .class2')

階層で選択

ある要素の下の階層にある要素を指定する方法
$('#env a')(例)id=envである要素の配下にあるaタグ要素すべて
$(#env > a')(例)id=envである要素の直下にあるaタグ要素すべて(孫配下以下は含まない)

前後関係で選択

$('#xml + li')(例)id=xmlである要素の次にあるliタグ要素すべて
$('#xml ~ li')(例)id=xmlである要素以降のliタグ要素すべて

フィルターで選択

セレクターの条件に「:フィルタ」の形式でフィルターを指定すると取得する要素を絞り込むことができる。
順序で絞り込み
:first最初の要素
:last最後の要素
:even偶数番目の要素
:odd奇数番目の要素
:eq(インデックス)指定したインデックス(順序)を持つ要素
:gt(インデックス)指定したインデックス(順序)より後ろの要素
:lt(インデックス)指定したインデックス(順序)より前の要素
(注)インデックスは0、1、2・・・の順に数える。

配下のテキストや要素による絞り込み

:contains(テキスト)指定されたテキストを含んだ要素
:empty空要素を選択
:parent子要素またはテキストを持つ要素
:has(セレクター)指定したセレクター要素を配下にもつ要素

子要素を取得する

:first-child親要素を起点としたときの最初の子要素
:last-child親要素を起点としたときの最後の子要素
:odd-child親要素を起点としたときの奇数番目の子要素
even-child親要素を起点としたときの偶数番目の子要素
nth-child(インデックス)親要素を起点としたときの指定したインデックス(順序)の子要素
:only-child親要素が子要素を一つだけ持つ場合の子要素

属性による絞り込み

[属性名]指定した属性を持つ要素すべて
[属性名=値]指定した値の属性を持つ要素すべて
[属性名!=値]指定した値でない属性をもつ要素すべて
[属性名^=値]指定した値から始まる値の属性をもつ要素すべて
[属性名$=値]指定した値で終わる値の属性をもつ要素すべて
[属性名*=値]指定した値を含む値の属性をもつ要素すべて
複数の属性フィルターを用いる場合は[...][...]のように組み合わせる。
(例)href='hoge'かつtarget属性をもつ要素すべて
$('a[href="hoge"][target]')

状態で絞り込み

:animatedアニメーション中の要素
:hidden非表示状態の要素
:visible表示状態の要素

フォーム要素の絞り込み

:input全てのinput、textarea、select、button要素
:checkbox全てのチェックボックス要素
:checkedチェック状態のすべての要素
:selected選択状態にあるすべての要素

その他のフィルター

:headerヘッダー要素(h1、h2、h3、・・・、h6)
:not(セレクター)指定したセレクターに合致しない要素

情報

管理人/副管理人のみ編集できます