🎯 セレクタ
HTML要素を選択するための様々な方法を提供します。
基本セレクタ
セレクタ | 説明 | 使用例 |
---|---|---|
#id |
指定されたIDを持つ要素を選択します。 |
|
.class |
指定されたクラス名を持つすべての要素を選択します。 |
|
element |
指定されたタグ名のすべての要素を選択します。 |
|
* |
すべての要素を選択します。 |
|
selector1, selector2, ... |
複数のセレクタに一致するすべての要素を選択します。 |
|
階層セレクタ
セレクタ | 説明 | 使用例 |
---|---|---|
ancestor descendant |
指定された祖先要素を持つ、すべての子孫要素を選択します。 |
|
parent > child |
指定された親要素の直接の子要素を選択します。 |
|
prev + next |
指定された `prev` 要素の直後にある `next` 要素を選択します。 |
|
prev ~ siblings |
指定された `prev` 要素の後にある、同じ親を持つすべての `siblings` 要素を選択します。 |
|
属性セレクタ
セレクタ | 説明 | 使用例 |
---|---|---|
[attribute] |
指定された属性を持つ要素を選択します。 |
|
[attribute=value] |
指定された属性が特定の値を持つ要素を選択します。 |
|
[attribute!=value] |
指定された属性を持たない、または特定の値を持たない要素を選択します。 |
|
[attribute^=value] |
指定された属性が特定の値で始まる要素を選択します。 |
|
[attribute$=value] |
指定された属性が特定の値で終わる要素を選択します。 |
|
[attribute*=value] |
指定された属性が特定の値を含む要素を選択します。 |
|
[attr~=value] |
指定した属性の値が、スペースで区切られたリストの中に特定の値を含む要素を選択します。 |
|
[attr|=value] |
指定した属性の値が特定の値と等しいか、特定の値で始まりハイフン(-)が続く要素を選択します。言語コードの指定などで利用されます。 |
|
フィルタリングセレクタ
セレクタ | 説明 | 使用例 |
---|---|---|
:first |
最初に一致した要素を選択します。 |
|
:last |
最後に一致した要素を選択します。 |
|
:eq(index) |
指定されたインデックス(0から始まる)に一致する要素を選択します。 |
|
:even |
偶数番目の要素(0, 2, 4, …)を選択します。 |
|
:odd |
奇数番目の要素(1, 3, 5, …)を選択します。 |
|
:gt(index) |
指定されたインデックスより大きいインデックスを持つ要素を選択します。 |
|
:lt(index) |
指定されたインデックスより小さいインデックスを持つ要素を選択します。 |
|
:not(selector) |
指定されたセレクタに一致しない要素を選択します。 |
|
:has(selector) |
指定されたセレクタに一致する要素を少なくとも1つ含む要素を選択します。 |
|
:contains(text) |
指定されたテキストを含む要素を選択します(大文字・小文字を区別します)。 |
|
:empty |
子要素(テキストノードを含む)を持たない要素を選択します。 |
|
:parent |
子要素(テキストノードを含む)を持つ要素を選択します。(:empty の逆) |
|
:header |
ヘッダー要素(h1, h2, h3 など)を選択します。 |
|
:animated |
現在アニメーション中の要素を選択します。 |
|
:focus |
現在フォーカスを持っている要素を選択します。 |
|
:root |
ドキュメントのルート要素を選択します (HTMLでは `<html>` 要素)。 |
|
:target |
URLのフラグメント識別子 (例: `#section2`) によって示されるターゲット要素を選択します。 |
|
:lang(language) |
指定された言語コードを持つ要素を選択します。 |
|
フォームセレクタ 📝
セレクタ | 説明 | 使用例 |
---|---|---|
:input |
すべての <input> , <textarea> , <select> , <button> 要素を選択します。 |
|
:text |
すべての type="text" の <input> 要素を選択します。 |
|
:password |
すべての type="password" の <input> 要素を選択します。 |
|
:radio |
すべての type="radio" の <input> 要素を選択します。 |
|
:checkbox |
すべての type="checkbox" の <input> 要素を選択します。 |
|
:submit |
すべての type="submit" の <input> または <button> 要素を選択します。 |
|
:image |
すべての type="image" の <input> 要素を選択します。 |
|
:reset |
すべての type="reset" の <input> または <button> 要素を選択します。 |
|
:button |
すべての type="button" の <input> または <button> 要素を選択します。 |
|
:file |
すべての type="file" の <input> 要素を選択します。 |
|
:hidden |
すべての非表示要素 (type="hidden" または CSSで非表示) を選択します。 |
|
:visible |
すべての表示されている要素を選択します。 |
|
:enabled |
有効な (disabledではない) フォーム要素を選択します。 |
|
:disabled |
無効な (disabled) フォーム要素を選択します。 |
|
:checked |
チェックされている/選択されている (チェックボックス、ラジオボタン、option) 要素を選択します。 |
|
:selected |
選択されている <option> 要素を選択します。 |
|
🛠️ DOM操作
ドキュメントの構造や内容を変更します。
コンテンツの取得・設定
メソッド | 説明 | 使用例 |
---|---|---|
html() |
要素のHTMLコンテンツを取得または設定します。 |
|
text() |
要素のテキストコンテンツを取得または設定します(HTMLタグは除去されます)。 |
|
val() |
フォーム要素の値を取得または設定します。 |
|
要素の追加・挿入
メソッド | 説明 | 使用例 |
---|---|---|
append(content) |
各要素の内部の末尾にコンテンツを追加します。 |
|
appendTo(target) |
選択した要素をターゲット要素の内部の末尾に追加します。(appendと引数の順番が逆) |
|
prepend(content) |
各要素の内部の先頭にコンテンツを追加します。 |
|
prependTo(target) |
選択した要素をターゲット要素の内部の先頭に追加します。(prependと引数の順番が逆) |
|
after(content) |
各要素の直後にコンテンツを追加します。 |
|
insertAfter(target) |
選択した要素をターゲット要素の直後に追加します。(afterと引数の順番が逆) |
|
before(content) |
各要素の直前にコンテンツを追加します。 |
|
insertBefore(target) |
選択した要素をターゲット要素の直前に追加します。(beforeと引数の順番が逆) |
|
wrap(html) |
各要素を指定したHTML構造で囲みます。 |
|
wrapAll(html) |
選択したすべての要素をまとめて、指定したHTML構造で囲みます。 |
|
wrapInner(html) |
各要素の内部コンテンツを指定したHTML構造で囲みます。 |
|
要素の削除・置換
メソッド | 説明 | 使用例 |
---|---|---|
remove([selector]) |
選択した要素をDOMから削除します。引数でさらにフィルタリング可能。データやイベントハンドラも削除されます。 |
|
detach([selector]) |
選択した要素をDOMから削除しますが、データやイベントハンドラは保持します。後で再挿入する場合に便利です。 |
|
empty() |
選択した要素の子要素(テキストノード含む)をすべて削除します。要素自体は残ります。 |
|
unwrap() |
選択した要素の親要素を削除し、要素自体は残します。 |
|
replaceWith(content) |
選択した各要素を指定したコンテンツで置き換えます。 |
|
replaceAll(target) |
ターゲット要素を選択した要素で置き換えます。(replaceWithと引数の順番が逆) |
|
要素のコピー
メソッド | 説明 | 使用例 |
---|---|---|
clone([withDataAndEvents], [deepWithDataAndEvents]) |
要素のディープコピー(子孫要素も含む)を作成します。引数でデータやイベントハンドラもコピーするか指定できます。 – true : データとイベントハンドラもコピー– false (デフォルト): 要素のみコピー– 第2引数に true を指定すると、子孫要素のデータとイベントハンドラもコピーします。 |
|
🏷️ 属性操作
要素の属性やプロパティ、クラスを操作します。
属性 (Attribute) の操作
メソッド | 説明 | 使用例 |
---|---|---|
attr(attributeName) |
指定された属性の値を取得します。 |
|
attr(attributeName, value) |
指定された属性に値を設定します。 |
|
attr(attributes) |
複数の属性をオブジェクト形式で一度に設定します。 |
|
attr(attributeName, function(index, currentValue)) |
関数を使って属性値を設定します。各要素に対して個別に値を計算できます。 |
|
removeAttr(attributeName) |
指定された属性を要素から削除します。 |
|
プロパティ (Property) の操作
checked
, selected
, disabled
など、要素の状態を表す真偽値のプロパティや、DOM要素が本来持つプロパティ (value
, tagName
, selectedIndex
など) の操作には prop()
を使うのが推奨されます。
メソッド | 説明 | 使用例 |
---|---|---|
prop(propertyName) |
指定されたプロパティの値を取得します。 |
|
prop(propertyName, value) |
指定されたプロパティに値を設定します。 |
|
prop(properties) |
複数のプロパティをオブジェクト形式で一度に設定します。 |
|
prop(propertyName, function(index, currentValue)) |
関数を使ってプロパティ値を設定します。 |
|
removeProp(propertyName) |
指定されたプロパティを要素から削除します。注意: checked や disabled のようなネイティブプロパティは削除すべきではありません。削除すると再設定できなくなる可能性があります。カスタムデータプロパティなどに使用します。通常は prop(propertyName, false) を使用します。 |
|
クラスの操作
メソッド | 説明 | 使用例 |
---|---|---|
addClass(className) |
要素に1つまたは複数のクラスを追加します。(スペース区切りで複数指定可) |
|
addClass(function(index, currentClass)) |
関数を使って追加するクラス名を決定します。 |
|
removeClass([className]) |
要素から1つまたは複数のクラスを削除します。引数を省略するとすべてのクラスを削除します。(スペース区切りで複数指定可) |
|
removeClass(function(index, currentClass)) |
関数を使って削除するクラス名を決定します。 |
|
toggleClass(className, [switch]) |
クラスが存在すれば削除し、存在しなければ追加します。第2引数に真偽値を指定すると、trueなら追加、falseなら削除の強制ができます。 |
|
toggleClass(function(index, currentClass, switch), [switch]) |
関数を使って切り替えるクラス名を決定します。 |
|
hasClass(className) |
選択した要素のいずれか1つでも指定したクラスを持っていれば true を返します。 |
|
🎨 CSS操作
要素のスタイルや寸法、位置を操作します。
CSSプロパティの操作
メソッド | 説明 | 使用例 |
---|---|---|
css(propertyName) |
指定されたCSSプロパティの値を取得します。 |
|
css(propertyName, value) |
指定されたCSSプロパティに値を設定します。プロパティ名はキャメルケース (fontSize ) またはハイフン区切り ('font-size' ) で指定できます。 |
|
css(propertyName, function(index, currentValue)) |
関数を使ってCSSプロパティ値を設定します。 |
|
css(properties) |
複数のCSSプロパティをオブジェクト形式で一度に設定します。 |
|
表示・非表示
メソッド | 説明 | 使用例 |
---|---|---|
show([duration], [easing], [callback]) |
要素を表示します。引数でアニメーション速度、イージング、完了時のコールバックを指定できます。 |
|
hide([duration], [easing], [callback]) |
要素を非表示にします。引数は show() と同様です。 |
|
toggle([duration], [easing], [callback]) |
要素の表示・非表示を切り替えます。引数は show() , hide() と同様です。 |
|
toggle(showOrHide) |
引数に真偽値を指定して、表示 (true) または非表示 (false) を強制します。 |
|
要素の寸法 📏
これらのメソッドは、要素の幅や高さを取得または設定します。Boxモデル(padding, border, margin)を含むか含まないかでメソッドが異なります。
メソッド | 説明 | 使用例 |
---|---|---|
width() |
要素のコンテンツ領域の幅を取得または設定します (padding, border, margin を含まない)。 |
|
height() |
要素のコンテンツ領域の高さを取得または設定します (padding, border, margin を含まない)。 |
|
innerWidth() |
要素の内部幅を取得します (padding を含む、border, margin を含まない)。設定はできません。 |
|
innerHeight() |
要素の内部高さを取得します (padding を含む、border, margin を含まない)。設定はできません。 |
|
outerWidth([includeMargin]) |
要素の外部幅を取得します (padding, border を含む)。引数に true を渡すと margin も含みます。設定はできません。 |
|
outerHeight([includeMargin]) |
要素の外部高さを取得します (padding, border を含む)。引数に true を渡すと margin も含みます。設定はできません。 |
|
要素の位置 📍
メソッド | 説明 | 使用例 |
---|---|---|
offset() |
ドキュメントの左上隅を基準とした、要素の現在の座標 (top, left) を取得します。または、要素の座標を設定します(あまり使われません)。 |
|
position() |
オフセットペアレント(positionが static 以外の最も近い祖先要素)を基準とした、要素の現在の座標 (top, left) を取得します。読み取り専用です。 |
|
scrollTop() |
要素(またはウィンドウ)の垂直スクロールバーの現在の位置を取得または設定します。 |
|
scrollLeft() |
要素(またはウィンドウ)の水平スクロールバーの現在の位置を取得または設定します。 |
|
🖱️ イベント処理
ユーザー操作やブラウザの状態変化に対応します。
イベントハンドラの登録・解除
メソッド | 説明 | 使用例 |
---|---|---|
on(events, [selector], [data], handler) |
1つまたは複数のイベントに対するハンドラを登録します。 – events : イベント名 (例: ‘click’, ‘mouseover’, ‘click keydown’)– selector (オプション): イベントデリゲーション。指定すると、選択した要素の**子孫**のうち、このセレクタに一致する要素でイベントが発生した場合にのみハンドラが実行されます。– data (オプション): イベントハンドラに渡すデータ。– handler : イベント発生時に実行される関数。event オブジェクトを引数に取ります。 |
|
off(events, [selector], [handler]) |
1つまたは複数のイベントハンドラを削除します。 – 引数なし: すべてのイベントハンドラを削除。 – events : 特定のイベントタイプのハンドラを削除。– selector : 特定のデリゲーションされたハンドラを削除。– handler : 特定の関数ハンドラを削除(名前付き関数である必要あり)。 |
|
one(events, [selector], [data], handler) |
イベントハンドラを登録しますが、各要素に対して一度だけ実行されると自動的に解除されます。引数は on() と同じです。 |
|
イベントの発火
メソッド | 説明 | 使用例 |
---|---|---|
trigger(eventType, [extraParameters]) |
指定されたイベントタイプのすべてのハンドラを実行し、ブラウザのデフォルト動作も実行します(例: フォームのsubmit)。追加パラメータをハンドラに渡すことができます。 |
|
triggerHandler(eventType, [extraParameters]) |
指定されたイベントタイプのハンドラを実行しますが、ブラウザのデフォルト動作(イベントのバブリングも含む)は実行しません。最初の要素のハンドラのみ実行され、その戻り値を返します。 |
|
イベントヘルパーメソッド
.on('click', handler)
のような記述のショートカットです。
メソッド | 対応イベント | 使用例 |
---|---|---|
click(handler) | click |
|
dblclick(handler) | dblclick |
|
hover(handlerIn, handlerOut) | mouseenter, mouseleave |
|
mousedown(handler) | mousedown |
|
mouseup(handler) | mouseup |
|
mousemove(handler) | mousemove |
|
mouseenter(handler) | mouseenter |
|
mouseleave(handler) | mouseleave |
|
mouseover(handler) | mouseover (バブリングあり) |
|
mouseout(handler) | mouseout (バブリングあり) |
|
keydown(handler) | keydown |
|
keyup(handler) | keyup |
|
keypress(handler) | keypress (文字入力時、非推奨になりつつある) |
|
focus(handler) | focus |
|
blur(handler) | blur |
|
focusin(handler) | focusin (バブリングあり) |
|
focusout(handler) | focusout (バブリングあり) |
|
change(handler) | change (input, select, textarea の値変更後) |
|
select(handler) | select (テキスト選択時) |
|
submit(handler) | submit (フォーム送信時) |
|
scroll(handler) | scroll (スクロール時) |
|
resize(handler) | resize (ウィンドウリサイズ時) |
|
load(handler) | load (要素や画像などの読み込み完了時) 注意: $(window).load() は jQuery 3.0 で廃止。代わりに $(window).on(‘load’, …) を使用。画像などは個別に load イベントを設定。 |
|
unload(handler) | unload (ページ離脱時) 注意: 信頼性が低く、非推奨。代わりに `beforeunload` を使用。 |
|
beforeunload(handler) | beforeunload (ページ離脱直前) |
|
error(handler) | error (画像の読み込み失敗など) 注意: jQuery 3.0 で廃止。代わりに .on(‘error’, …) を使用。 |
|
イベントオブジェクト
イベントハンドラ関数の最初の引数として渡されるオブジェクトで、イベントに関する情報を含みます。
プロパティ/メソッド | 説明 | 使用例 |
---|---|---|
event.type |
発生したイベントの種類 (例: ‘click’, ‘mouseover’)。 |
|
event.target |
イベントが最初に発生したDOM要素。 |
|
event.currentTarget |
イベントハンドラが現在処理している要素 (イベントバブリング中など、target と異なる場合がある)。this と同じ。 |
|
event.delegateTarget |
イベントデリゲーション (.on() の第二引数) でイベントハンドラがアタッチされている要素。 |
|
event.relatedTarget |
mouseover /mouseout イベントで、マウスカーソルが入ってきた/出ていった要素。focusin /focusout ではフォーカスを失った/得た要素。 |
|
event.pageX , event.pageY |
マウスポインタのドキュメント左上からの座標。 |
|
event.clientX , event.clientY |
マウスポインタの**表示領域 (ビューポート)** 左上からの座標。スクロール位置の影響を受けません。 |
|
event.which |
押されたキーコードまたはマウスボタンを示す数値 (左:1, 中:2, 右:3)。キーボードイベントでは event.key や event.code の使用が推奨されます。 |
|
event.key |
押されたキーの文字または識別子 (例: ‘a’, ‘Enter’, ‘ArrowUp’)。推奨される方法。 |
|
event.code |
物理的なキーを示すコード (例: ‘KeyA’, ‘Enter’, ‘ArrowUp’)。キーボードレイアウトに依存しません。 |
|
event.data |
.on() や .trigger() で渡されたデータ。 |
|
event.preventDefault() |
イベントに関連するブラウザのデフォルトアクションをキャンセルします (例: リンクの遷移、フォームの送信)。 |
|
event.stopPropagation() |
イベントが親要素へ伝播 (バブリング) するのを停止します。 |
|
event.stopImmediatePropagation() |
イベントのバブリングを停止し、**同じ要素に登録されている他のハンドラ**の実行も停止します。 |
|
event.namespace |
イベントが発火したときに指定された名前空間 (例: ‘click.myPlugin’)。 |
|
event.timeStamp |
イベントが作成された時刻 (エポックからのミリ秒)。 |
|
event.result |
triggerHandler() で実行された最後のイベントハンドラの戻り値。 |
|
✨ アニメーション・エフェクト
要素に視覚的な効果を適用します。
基本的なエフェクト
これらのメソッドは、show()
, hide()
, toggle()
と同様に、[duration]
, [easing]
, [callback]
を引数に取ることができます。
メソッド | 説明 | 使用例 |
---|---|---|
fadeIn() |
要素をフェードイン(徐々に表示)させます。 |
|
fadeOut() |
要素をフェードアウト(徐々に非表示)させます。 |
|
fadeToggle() |
要素のフェードイン・フェードアウトを切り替えます。 |
|
fadeTo(duration, opacity, [easing], [callback]) |
要素を指定された不透明度までフェードさせます。要素は非表示にはなりません(opacityが0でも)。 |
|
slideDown() |
要素を上から下へスライドさせながら表示します。 |
|
slideUp() |
要素を下から上へスライドさせながら非表示にします。 |
|
slideToggle() |
要素のスライドダウン・スライドアップを切り替えます。 |
|
カスタムアニメーション
メソッド | 説明 | 使用例 |
---|---|---|
animate(properties, [duration], [easing], [callback]) |
数値で表されるCSSプロパティをアニメーションさせます。 – properties : アニメーションさせるCSSプロパティと目標値のオブジェクト。– duration (オプション): アニメーション時間 (ミリ秒、’fast’, ‘slow’)。デフォルトは400ms。– easing (オプション): イージング関数 (‘linear’, ‘swing’ または jQuery UI プラグインで追加)。デフォルトは ‘swing’。– callback (オプション): アニメーション完了時に実行される関数。 |
|
animate(properties, options) |
オプションをオブジェクトでまとめて指定する形式。 – options : duration, easing, callback, queue, step, progress, complete, start, done, fail, always などを含むオブジェクト。 |
|
アニメーションの制御
メソッド | 説明 | 使用例 |
---|---|---|
stop([clearQueue], [jumpToEnd]) |
要素で現在実行中のアニメーションを停止します。 – clearQueue (boolean, デフォルト: false): true の場合、キューにある未実行のアニメーションも削除します。– jumpToEnd (boolean, デフォルト: false): true の場合、現在のアニメーションを即座に完了状態にします。 |
|
finish([queueName]) |
要素のキューにあるすべてのアニメーションを即座に完了状態にします。CSSの最終状態が適用されます。 |
|
delay(duration, [queueName]) |
アニメーションキュー内の後続のアイテム実行を指定した時間(ミリ秒)だけ遅延させます。主にアニメーションメソッド間で使います。 |
|
queue([queueName]) |
要素のアニメーションキュー(関数の配列)を取得または操作します。 – 引数なし: キューの配列を取得。 – callback : キューに関数を追加。 |
|
dequeue([queueName]) |
アニメーションキューの先頭の関数を実行し、キューから削除します。通常は queue() のコールバック内 (next() ) で自動的に呼ばれますが、手動で呼び出すこともできます。 |
|
clearQueue([queueName]) |
要素のアニメーションキューから、まだ実行されていないすべてのアイテムを削除します。 |
|
グローバルなアニメーション制御:
jQuery.fx.off
:true
に設定すると、すべてのアニメーションが無効になり、即座に完了状態になります。デバッグやテストに便利です。// すべてのアニメーションを無効化 jQuery.fx.off = true; $('#box').fadeIn(1000); // 即座に表示される // アニメーションを再度有効化 jQuery.fx.off = false;
jQuery.fx.interval
: アニメーションのフレームレートを制御する間隔 (ミリ秒)。デフォルトは 13ms。値を大きくするとアニメーションはカクカクしますが、CPU負荷は減ります。// フレームレートを下げる (例: 約 30fps) jQuery.fx.interval = 33;
🌐 Ajax通信
サーバーと非同期にデータを送受信します。
コアメソッド: $.ajax()
最も柔軟で基本的なAjaxリクエストメソッドです。多くのオプションを指定できます。
メソッド | 説明 | 使用例 |
---|---|---|
$.ajax(url, [settings]) または $.ajax([settings]) |
非同期HTTP (Ajax) リクエストを実行します。 – url : リクエスト先のURL。– settings : Ajaxリクエストの設定を含むオブジェクト。以下は主要なオプション:
|
|
ショートカットメソッド
$.ajax()
を特定の用途に合わせて簡略化したメソッドです。
メソッド | 説明 | 使用例 |
---|---|---|
$.get(url, [data], [success], [dataType]) |
HTTP GETリクエストを実行します。 – data : URLパラメータとして送信されるデータ (オブジェクトまたは文字列)。– success(data, textStatus, jqXHR) : 成功時のコールバック。– dataType : 期待するデータタイプ。 |
|
$.post(url, [data], [success], [dataType]) |
HTTP POSTリクエストを実行します。 – data : リクエストボディとして送信されるデータ。– 引数は $.get() と同様。 |
|
$.getJSON(url, [data], [success]) |
HTTP GETリクエストを実行し、JSONレスポンスを期待します。$.get() の dataType: 'json' 版です。 |
|
$.getScript(url, [success]) |
HTTP GETリクエストでJavaScriptファイルを取得し、実行します。$.get() の dataType: 'script' 版です。 |
|
$(selector).load(url, [data], [complete]) |
サーバーからHTMLを取得し、選択した要素の内部に挿入します。Ajaxリクエスト (GETまたはPOST) を実行します。 – url : 取得するHTMLのURL。URLの後ろにスペースとセレクタを追加すると、取得したHTMLの一部のみを挿入できます (例: /page.html #content )。– data (オプション): オブジェクトまたは文字列。指定するとPOSTリクエストになります。指定しない場合はGETリクエスト。– complete(responseText, textStatus, jqXHR) : リクエスト完了時のコールバック。 |
|
Ajaxイベント
Ajaxリクエストのライフサイクル中に発生するグローバルイベントです。ドキュメント全体でAjaxの状態を監視できます(例:ローディングインジケータの表示)。$.ajax()
の global: false
オプションでイベントを発火させないことも可能です。
メソッド | 説明 | 使用例 |
---|---|---|
ajaxStart(handler) | 最初 のAjaxリクエストが開始される時に発火。 |
|
ajaxStop(handler) | すべて のアクティブなAjaxリクエストが完了した時に発火。 |
|
ajaxSend(handler(event, jqXHR, ajaxOptions)) | Ajaxリクエストが送信される 直前 に発火。beforeSend の後。 |
|
ajaxSuccess(handler(event, jqXHR, ajaxOptions, data)) | Ajaxリクエストが 成功 した時に発火。success コールバックの後。 |
|
ajaxError(handler(event, jqXHR, ajaxOptions, thrownError)) | Ajaxリクエストが 失敗 した時に発火。error コールバックの後。 |
|
ajaxComplete(handler(event, jqXHR, ajaxOptions)) | Ajaxリクエストが 完了 した時 (成功・失敗問わず) に発火。complete コールバックの後。 |
|
データのシリアライズ
フォームデータをAjax送信に適した形式に変換します。
メソッド | 説明 | 使用例 |
---|---|---|
serialize() |
フォーム要素セットをURLエンコードされたクエリ文字列形式 (key1=value1&key2=value2... ) にシリアライズします。送信ボタンやファイル入力は含まれません。 |
|
serializeArray() |
フォーム要素セットを { name: "...", value: "..." } という形式のオブジェクトの配列にシリアライズします。 |
|
$.param(obj, [traditional]) |
オブジェクトまたは配列をURLエンコードされたクエリ文字列形式にシリアライズします。$.ajax() の data オプションで内部的に使用されます。– traditional (boolean): true にすると、PHP や Ruby on Rails などが解釈しやすい伝統的なスタイル (例: a[]=1&a[]=2 ) で配列をシリアライズします。デフォルト (false) は a[0]=1&a[1]=2 のような形式です。 |
|
🔧 ユーティリティメソッド
配列、オブジェクト、文字列などの操作に便利な汎用関数です。$
または jQuery
直下で呼び出します。
配列・オブジェクトの操作
メソッド | 説明 | 使用例 |
---|---|---|
$.each(collection, callback(index, value)) |
配列やオブジェクトの各要素に対して関数を実行します。jQueryオブジェクトの .each() とは異なり、第一引数にコレクションを取ります。コールバック内で false を返すとループを中断できます。 |
|
$.map(collection, callback(value, index)) |
配列やオブジェクトの各要素を変換し、新しい配列を作成して返します。コールバック関数の引数の順番が $.each と逆 (value, index) な点に注意。コールバックが null または undefined を返すと、その要素は結果の配列に含まれません。 |
|
$.grep(array, function(element, index), [invert]) |
配列の要素をフィルタリングし、条件に一致する要素のみを含む新しい配列を返します。Array.prototype.filter に似ています。– invert (boolean, デフォルト: false): true にすると、条件に *一致しなかった* 要素を返します。 |
|
$.extend([deep], target, object1, [objectN]) |
1つ以上のオブジェクトの内容を、ターゲットオブジェクトにマージ(コピー)します。 – deep (boolean): true を指定するとディープコピー(ネストされたオブジェクトも再帰的にマージ)を行います。– target : マージ先のオブジェクト。このオブジェクト自体が変更されます。– object1...N : マージ元のオブジェクト。後続のオブジェクトのプロパティが、先行するオブジェクトの同名プロパティを上書きします。– ターゲットを省略 ( $.extend([deep], object1, objectN) ) した場合、object1 がターゲットになります。– 空のオブジェクトをターゲット ( $.extend([deep], {}, object1, objectN) ) にすると、既存オブジェクトを変更せずに新しいマージ済みオブジェクトを作成できます。 |
|
$.inArray(value, array, [fromIndex]) |
配列内で指定された値を検索し、そのインデックスを返します。見つからない場合は -1 を返します。Array.prototype.indexOf と似ていますが、引数の順序が異なります。 |
|
$.merge(first, second) |
2つの配列の内容を、最初の配列にマージします。最初の配列自体が変更され、変更された配列が返されます。破壊的な操作です。 |
|
$.makeArray(obj) |
配列ライクなオブジェクト(例: NodeList, arguments)を本物のJavaScript配列に変換します。 |
|
$.uniqueSort(array) (jQuery 3.0以降) |
DOM要素の配列から重複を削除し、ドキュメント順にソートします。$.unique() は廃止されました。 |
|
型判定
メソッド | 説明 | 使用例 |
---|---|---|
$.isArray(obj) | オブジェクトが配列かどうかを判定します。 |
|
$.isFunction(obj) | オブジェクトが関数かどうかを判定します。 |
|
$.isNumeric(value) | 値が数値(または数値に変換可能)かどうかを判定します。有限数のみ true。 |
|
$.isEmptyObject(obj) | オブジェクトが空(自身のプロパティを持たない)かどうかを判定します。継承されたプロパティは無視します。 |
|
$.isPlainObject(obj) | オブジェクトが {} または new Object() で作成されたプレーンなJavaScriptオブジェクトかどうかを判定します。DOM要素や他のコンストラクタで作られたインスタンスは false になります。 |
|
$.isWindow(obj) | オブジェクトがウィンドウオブジェクトかどうかを判定します。 |
|
$.isXMLDoc(node) | DOMノードがXMLドキュメント内にあるか、あるいはXMLドキュメントそのものであるかを判定します。 |
|
$.type(obj) | オブジェクトの内部 [[Class]] プロパティを文字列で返します (例: “object”, “array”, “function”, “string”, “number”, “boolean”, “date”, “regexp”, “null”, “undefined”)。typeof よりも詳細な型情報が得られます。 |
|
文字列操作
メソッド | 説明 | 使用例 |
---|---|---|
$.trim(str) |
文字列の先頭と末尾にある空白文字(スペース、タブ、改行など)を削除します。String.prototype.trim() と同等ですが、古いブラウザでも動作します。 |
|
その他
メソッド | 説明 | 使用例 |
---|---|---|
$.proxy(function, context) または $.proxy(context, name) |
関数の実行コンテキスト (this の値) を固定した新しい関数を返します。– 第1形式: function を実行する際に this が常に context になるようにします。– 第2形式: context オブジェクトの name プロパティ (文字列で指定) であるメソッドを実行する際に、this が常に context になるようにします。 |
|
$.contains(container, contained) |
あるDOM要素 (container ) が、別のDOM要素 (contained ) を子孫として含んでいるかどうかを判定します。jQueryオブジェクトではなく、DOM要素を引数に取ります。 |
|
$.now() |
現在時刻をエポック (1970年1月1日 00:00:00 UTC) からのミリ秒数で返します。(new Date()).getTime() と同等です。 |
|
$.parseHTML(data, [context], [keepScripts]) |
HTML文字列を解析し、結果のDOMノードの配列を返します。 – context (DOM Element): HTMLを解析する際のコンテキストとなるドキュメント。通常は document 。– keepScripts (boolean): true にすると、<script> タグも結果に含まれます(ただし実行はされません)。デフォルトは false。 |
|
$.parseJSON(json) |
JSON文字列を解析し、結果のJavaScriptオブジェクトまたは値を返します。注意: jQuery 3.0 で廃止されました。代わりにネイティブの JSON.parse() を使用してください。 |
|
$.parseXML(data) |
XML文字列を解析し、結果のXMLドキュメントを返します。パースに失敗するとエラーをスローします。 |
|
$.noop |
何もしない空の関数です。コールバック関数が必要だが何もしない場合にプレースホルダーとして便利です。 |
|
$.when(deferreds...) |
1つ以上の Deferred オブジェクト(または Promise オブジェクト、通常のJavaScriptオブジェクト)を受け取り、それらすべてが解決 (resolved) されたときに解決される新しい Promise オブジェクトを返します。Ajaxリクエストなどの複数の非同期処理が完了するのを待つのに便利です。いずれか1つでも拒否 (rejected) されると、返される Promise も拒否されます。 |
|
コメント