本稿は jQuery のセレクタに関する記事です。jQuery において、操作対象の要素を選ぶ記述を一般に「セレクタ」と呼びます。id セレクタ・class セレクタ・要素セレクタ・子孫セレクタなどがあり、CSS のセレクタ構文がほぼそのまま使えます。
子ページから個別のセレクタを選択してください。
本ページの子ページ
- id セレクタ —
$("#myId") - class セレクタ —
$(".myClass") - 要素セレクタ —
$("p") - 子孫セレクタ —
$("ul li")
セレクタの基本構文
|
$("セレクタ") // 要素を選ぶ |
主なセレクタ一覧
| 分類 | 記法 | 意味 |
|---|---|---|
| id | $("#header") | id 属性が header の要素 |
| class | $(".btn") | class に btn を含む要素すべて |
| 要素 (タグ) | $("p") | <p> 要素すべて |
| 全要素 | $("*") | 全要素 (重い処理のため避けるのが無難) |
| 複数 (グルーピング) | $("h1, h2, p") | カンマで OR |
| 子孫 | $("ul li") | ul の中にあるすべての li |
| 子 | $("ul > li") | ul の直下の li のみ |
| 隣接 | $("h2 + p") | h2 の直後にある p |
| 同階層以降 | $("h2 ~ p") | h2 以降の兄弟 p |
| 属性 | $("input[type='text']") | 属性条件 |
| 部分一致 (属性) | $("a[href*='example']") | 属性値の部分一致 |
| :first / :last | $("li:first") | 最初/最後の一致要素 |
| :eq(n) | $("li:eq(2)") | 0 始まりの n 番目 |
| :not() | $("li:not(.active)") | 除外 |
| :contains() | $("p:contains('PHP')") | テキスト含む |
| :has() | $("li:has(a)") | 子に a を持つ |
| :visible / :hidden | $(".menu:visible") | 表示/非表示 |
| :checked | $("input:checked") | チェック済み |
使い分けの目安
- id セレクタ — ページ内で一意の要素を即座に取得。最速
- class セレクタ — 複数要素をまとめて操作する標準的な選び方
- 要素セレクタ —
$("a")など大雑把な範囲指定 - 子孫/子セレクタ — 範囲を限定し、ページ全体スキャンを避ける
- 属性セレクタ —
input[name="email"]のように厳密に絞り込みたいとき
パフォーマンス上のポイント
$("*")や$(":visible")などは全要素走査になる。範囲を限定する- セレクタは右から評価される。
$(".list .item")は「全.itemを集めてから.listの中か判定」 - 頻繁に使う集合はキャッシュ:
const $items = $(".item"); - ループ内で同じセレクタを毎回
$(...)しない - 絞れるなら
$(".item", container)のようにコンテキストを渡す
注意点
- HTML5 では
id値の重複は禁止。id セレクタは1要素を前提に - 動的に追加された要素は事後にバインドが必要。
$(document).on("click", ".btn", ...)のような委任イベントを使う - 新規プロジェクトでは jQuery を入れず、標準
querySelector/querySelectorAllで済むことも多い
関連
- 親カテゴリ: 文法 (jQuery)
- 子ページ: id セレクタ / class セレクタ / 要素セレクタ / 子孫セレクタ
- jQuery本体: jQuery
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15