
悩む人jQueryのセレクタって、たくさん種類があって何をどう使えばいいのか分からない…
そんな風に感じたことはありませんか?
この記事は、jQuery初心者の方に向けて、「セレクタの種類と使い方」を体系的に分かりやすくまとめた内容です。
この記事を読むことで、セレクタの役割や使いどころが明確になり、実際のコーディング作業がスムーズになります。
- jQueryのセレクタの基本から応用までを一通り学びたい
- 要素の位置や属性、階層などに応じた柔軟な選択ができるようになりたい
- 実践で役立つセレクタの書き方を整理したい
jQueryのセレクタとは?
jQueryで処理を行う際のポイントを簡単にいうと
- どの要素に(セレクタ)
- 何をするか(メソッド)
という指定が必要です。
以下、簡単な例です。


今回は「どの要素に」に当たるjQueryのセレクタについて初心者の方にもわかりやすく解説します。
基本のセレクタ
ここからは、Webページの要素を的確に選択するための基本セレクタについて、具体的な例とともに理解を深めていきましょう。
| セレクタ | 例 | 説明 |
|---|---|---|
| 要素セレクタ | $(‘div’) | すべてのdiv要素を選択 |
| IDセレクタ | $(‘#header’) | IDが”header”の要素を選択 |
| classセレクタ | $(‘.btn’) | classが”btn”の要素をすべて選択 |
| グループセレクタ | $(‘h1, h2, h3’) | すべてのh1, h2, h3要素を選択 |
| ユニバーサルセレクタ | $(‘*’) | すべてのHTML要素を選択する |
要素セレクタ
要素セレクタは、HTMLのタグ名を指定することで、該当するすべての要素を選択できます。
$('div')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('h2').css({'color':'#0272fc'});
$('p').css({'color':'#60b6ff'});
});
結果
See the Pen 「jQuery セレクタ」要素セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
IDセレクタ
#を使って記述します。IDセレクタは非常に高速に動作しますが、同じIDを複数の要素に使用しないよう注意が必要です。
$('#header')
コード例と結果はこちら
HTML
<div id="box1">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div id="box2">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('#box1').css({'background':'#fff'});
});
結果
See the Pen 「jQuery セレクタ」IDセレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
classセレクタ
複数の要素に共通のスタイルや機能を適用したいときに使うのがclassセレクタです。.(ドット)を使って指定します。
$('.btn')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('.box').css({'border':'1px solid #ccc'});
});
結果
See the Pen 「jQuery セレクタ」要素セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
グループセレクタ
複数の異なるセレクタをカンマ(,)で区切ることで、まとめて選択する方法です。効率よく複数の要素を対象にしたいときに活用できます。
$('h1, h2, h3')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('h2, p').css({'color':'#0272fc'});
});
結果
See the Pen 「jQuery セレクタ」要素セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
ユニバーサルセレクタ
すべてのHTML要素を選択するセレクタです。基本的には * を使って記述します。
$('*')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('*').css({'color':'#0272fc'});
});
結果
See the Pen 「jQuery セレクタ」グループセレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
階層関係のセレクタ
HTMLは親子構造で成り立っており、ある要素が他の要素の中に含まれる形で記述されています。
こうした階層構造を意識して要素を選択したい場面は、実際の開発で非常によくあります。
jQueryの階層セレクタを使えば、親・子・兄弟といった関係性に基づいた柔軟な選択が可能になります。
ここでは、それぞれの階層セレクタの特徴や使い方を、具体的なコード例とともに解説していきます。
| セレクタ | 例 | 説明 |
|---|---|---|
| 子セレクタ | $(‘ul > li’) | 親要素に直下で含まれている子要素を選択 |
| 子孫セレクタ | $(‘div p’) | 要素の中に含まれているすべての子孫要素を選択 |
| 隣接セレクタ | $(‘h2 + p’) | ある要素の直後にある兄弟要素を選択 |
| 間接セレクタ | $(‘h2 ~ p’) | ある要素の後に位置するすべての兄弟要素の中から、指定した要素を選択 |
子セレクタ
子セレクタは、特定の親要素に直下で含まれている子要素を選択します。記述には >(大なり記号)を使用します。
$('ul > li')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div class="box">
<div>
<h2>タイトル</h2>
<p>テキスト</p>
</div>
</div>
jQuery
$(function(){
$('.box > h2').css({'color':'#0272fc'});
});
結果
See the Pen 「jQuery セレクタ」ユニバーサルセレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
子孫セレクタ
子孫セレクタは、指定した要素の中に含まれているすべての子孫要素(直下だけでなく深い階層も含む)を選択します。間にどれだけ他の要素が挟まっていても有効です。
$('div p')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
<div class="box">
<div>
<h2>タイトル</h2>
<p>テキスト</p>
</div>
</div>
jQuery
$(function(){
$('.box p').css({'color':'#0272fc'});
});
結果
See the Pen 「jQuery セレクタ」子孫セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
隣接セレクタ
ある要素の直後にある兄弟要素を選択したいときに使うのが隣接セレクタです。+ を使って記述します。
$('h2 + p')
コード例と結果はこちら
HTML
<ul>
<li>リスト1</li>
<li>リスト2</li>
<li>リスト3</li>
<li>リスト4</li>
</ul>
jQuery
$(function(){
$('li + li').css({//2個目以降のliにスタイルを適用
'color':'#0272fc',
'margin-top':'20px',
});
});
結果
See the Pen 「jQuery セレクタ」子孫セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
間接セレクタ
間接セレクタは、ある要素の後に位置するすべての兄弟要素の中から、指定した要素を選択します。記述には ~ を使用します。
$('h2 ~ p')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p class="text">テキスト</p>
<p>テキスト</p>
<p class="text">テキスト</p>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('h2 ~ .text').css({//h2の後に出てくる「.text」だけにスタイルを適用
'color':'#0272fc',
});
});
結果
See the Pen 「jQuery セレクタ」間接セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.
擬似クラスセレクタ
HTMLの構造だけでは捉えきれない「状態」や「条件」に基づいて要素を選択したいとき、jQueryでは「擬似クラスセレクタ」が活躍します。
特定の順番や属性の有無、兄弟要素との関係性など、柔軟な指定が可能で、より高度なDOM操作を実現できます。
ここでは、代表的な擬似クラスセレクタを一つずつ見ていきましょう。
| セレクタ | 例 | 説明 |
|---|---|---|
| first-child | $(‘li:first-child’) | 親要素の中で最初に現れる子要素を選択 |
| first-of-type | $(‘p:first-of-type’) | 親要素から見て、最初に現れる要素を選択 |
| last-child | $(‘li:last-child’) | 親要素の中で一番最後にある子要素を選択 |
| last-of-type | $(‘p:last-of-type’) | 親要素から見て、最後に現れる要素を選択 |
| nth-child | $(‘li:nth-child(3)’) | 親要素から見て、n番目の子要素を選択 |
| nth-of-type | $(‘p:nth-of-type(2)’) | 同じタグのうち、n番目の要素を選択 |
| nth-last-child | $(‘li:nth-last-child(2)’) | 最後から数えてn番目の子要素を選択 |
| nth-last-of-type | $(‘p:nth-last-of-type(2)’) | 同じタグの中で、最後からn番目の要素を選択 |
| only-child | $(‘div:only-child’) | 親要素の中で唯一の子要素を選択 |
| only-of-type | $(‘p:only-of-type’) | 同じタグの中で、唯一存在する要素を選択 |
| not | $(‘p:not(.highlight)’) | 指定したセレクタにマッチしない要素を選択 |
| empty | $(‘div:empty’) | 中に何のコンテンツも含まない要素を選択 |
first-child
親要素の中で最初に現れる子要素を選択します。必ず1番目の要素が対象になります。
この例では、すべてのli要素のうち、最初のli要素だけが選択されます。
$('li:first-child')
first-of-type
親要素から見て、最初に現れる要素を選択します。
:first-childとの違いは、親要素の中で1番目の子要素でなくて良い点です。
親要素の中で2番目の子要素だったとしても、そのタグは初めて現れたのであれば対象になります。
$('p:first-of-type')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('p:first-of-type').css({'color':'blue',});
//pタグは親要素からみて2番目(h2タグの後)だが、pタグとして最初に出てくる要素にスタイルが適用される
$('p:first-child').css({'color':'red',});
//「first-child」の場合は必ず1番目に出てこないと対象にならないため、この例の場合は何も適用されない
});
結果
See the Pen 「jQuery セレクタ」間接セレクタ by kasuga (@kntkfmgf-the-vuer) on CodePen.



ちょっとややこしいですが、上のコード例を見れば違いがわかりますよ!
last-child
親要素の中で一番最後にある子要素を選択します。
この例では、すべてのli要素のうち、最後のli要素だけが選択されます。
$('li:last-child')
last-of-type
親要素から見て、最後に現れる要素を選択します。
:last-childとの違いは、親要素の中で最後の子要素でなくて良い点です。そのタグとして最後であれば対象になります。
$('p:last-of-type')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
<p>テキスト</p>
<p>テキスト</p>
<p>このテキストが対象</p>
<h2>タイトル</h2>
</div>
jQuery
$(function(){
$('p:last-of-type').css({'color':'blue',});
//pタグは親要素からみて最後の子要素ではないが、pタグとして最後の要素にスタイルが適用される
$('p:last-child').css({'color':'red',});
//「last-child」の場合は必ず最後に出てこないと対象にならないため、この例の場合は何も適用されない
});
結果
See the Pen 「jQuery セレクタ」last-of-type by kasuga (@kntkfmgf-the-vuer) on CodePen.
nth-child(n)
親要素から見て、n番目の子要素を選択します。nには数字やキーワード(odd, even)などを指定できます。
違う種類のタグもカウントに含まれます。
$('li:nth-child(3)') // 3番目の子要素
$('li:nth-child(odd)') // 奇数番目の要素
nth-of-type(n)
同じタグのうち、n番目の要素を選択します。
:nth-childとの違いは、違う種類のタグはカウントに含まれない点です。
$('p:nth-of-type(2)')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>nth-childはここが対象</p>
<p>nth-of-typeはここが対象</p>
<p>テキスト</p>
<p>テキスト</p>
<h2>タイトル</h2>
</div>
jQuery
$(function(){
$('p:nth-of-type(2)').css({'color':'#0272fc',});
//pタグの中で2番目の要素にスタイルが適用される
$('p:nth-child(2)').css({'color':'#60b6ff',});
//「nth-child」の場合は、他の種類のタグも含めて2番目の要素にスタイルが適用される
});
結果
See the Pen 「jQuery セレクタ」last-of-type by kasuga (@kntkfmgf-the-vuer) on CodePen.
nth-last-child(n)
最後から数えてn番目の子要素を選択します。違う種類のタグもカウントに含まれます。
$('li:nth-last-child(2)')
nth-last-of-type(n)
同じタグの中で、最後からn番目の要素を選択します。
$('p:nth-last-of-type(2)')
:nth-last-childとの違いは、違う種類のタグはカウントに含まれない点です。
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
<p>テキスト</p>
<p>nth-last-of-typeはここが対象</p>
<p>nth-childはここが対象</p>
<h2>タイトル</h2>
</div>
jQuery
$(function(){
$('p:nth-last-of-type(2)').css({'color':'#0272fc',});
//pタグの中で最後から2番目の要素にスタイルが適用される
$('p:nth-last-child(2)').css({'color':'#60b6ff',});
//「nth-child」の場合は、他の種類のタグも含めて最後から2番目の要素にスタイルが適用される
});
結果
See the Pen 「jQuery セレクタ」nth-of-type by kasuga (@kntkfmgf-the-vuer) on CodePen.
only-child
親要素の中で唯一の子要素を選択します。違う種類のタグが存在する場合は適用されません。
$('div:only-child')
only-of-type
同じタグの中で、唯一存在する要素を選択します。
:only-childとの違いは、違う種類のタグが存在しても適用される点です。
$('p:only-of-type')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('p:only-of-type').css({'color':'blue',});
//h2タグもあるが、pタグは1つだけなのでスタイルが適用される
$('p:only-child').css({'color':'red',});
//「nth-child」の場合は、違うの種類のタグがあるとスタイルが適用されない
});
結果
See the Pen 「jQuery セレクタ」nth-last-of-type by kasuga (@kntkfmgf-the-vuer) on CodePen.
:not(selector)
指定したセレクタにマッチしない要素を選択します。
$('p:not(.highlight)')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
<p>テキスト</p>
<p class="hiright">テキスト</p>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('p:not(.hiright)').css({'color':'#0272fc',});
//「.hiright」以外のpタグにスタイルを適用
});
結果
See the Pen 「jQuery セレクタ」:not by kasuga (@kntkfmgf-the-vuer) on CodePen.
:empty
中に何のコンテンツも含まない要素(テキストも子要素もなし)を選択します。
$('div:empty')
コード例と結果はこちら
HTML
<div class="box">
<h2>タイトル</h2>
<p>テキスト</p>
<p>テキスト</p>
<p></p>
<p>テキスト</p>
</div>
jQuery
$(function(){
$('p:empty').css({
'background':'#0272fc',
'height':'40px',
});
});
結果
See the Pen 「jQuery セレクタ」not by kasuga (@kntkfmgf-the-vuer) on CodePen.
属性セレクタ
HTML要素には、id や class の他にも様々な属性(href, src, type, data-* など)が付けられており、これらの属性を利用して要素を選択できるのが「属性セレクタ」です。
jQueryの属性セレクタを活用すれば、より柔軟で条件に合致した要素選択が可能になり、特定の属性値に基づいた処理が格段に効率的になります。
ここでは、よく使われる属性セレクタの使い方を種類ごとに解説していきます。
| 属性 | 例 |
|---|---|
| 指定の属性値の要素を選択する | $(‘div’) |
| 指定の属性値と等しくない要素を選択する | $(‘#header’) |
| 指定の属性値で始まる要素を選択する | $(‘.btn’) |
| 指定の属性値で終わる要素を選択する | $(‘h1, h2, h3’) |
| 指定の属性値と部分一致する要素を選択する | $(‘*’) |
指定の属性値の要素を選択する
特定の属性とその値を持つ要素だけを選びたい場合に使用します。
この例では、type="text" が設定されているすべての <input> 要素を選択します。
$('input[type="text"]')
指定の属性値と等しくない要素を選択する
特定の属性値を「持たない」または「異なる」要素を選択したい場合には、!= を使います。
この例では、type 属性が checkbox ではないすべての <input> 要素が対象になります。
$('input[type!="checkbox"]')
指定の属性値で始まる要素を選択する
ある属性値が特定の文字列で始まっている要素を対象にする場合は、^= を使用します。
この例では、href 属性が "https" で始まるすべてのリンクを選択します。
$('a[href^="https"]')
指定の属性値で終わる要素を選択する
特定の文字列で終わっている属性値を持つ要素には、$= を使用します。
この例では、.jpg で終わる画像ファイルを選択します。
$('img[src$=".jpg"]')
指定の属性値と部分一致する要素を選択する
属性値の中に特定の文字列が「含まれている」要素を選択するには、*= を使います。
この例では、data-info 属性に "user" を含むすべての <div> 要素が対象となります。
$('div[data-info*="user"]')
WEBデザイナー・フロントエンドのスキルを確実に身につけたい方へ
「WEBデザインやフロントエンドを学びたい」と思い立ったとき、多くの方がまず独学を選びます。
しかし、独学では「何をどこから学べばいいかわからない」「つまずいたときに誰にも聞けない」といった壁にぶつかることも少なくありません。
一方、スクールで学べば、正しい順序で、現場で使えるスキルを効率よく習得することができます。最短ルートでスキルを身につけたい方には、スクール学習がおすすめです。



私は26歳で印刷業からWEBデザイナーを目指して学び始めましたが、やはり独学に限界を感じ短期スクールで学びました。本気でスキルを身につけたいならスクールはマジで行った方が良いです!
- カリキュラムが体系化されているため、基礎から応用まで無駄なく学べる
- 現役のプロから実践的なフィードバックを受けられる
- わからないことをすぐに質問・解決できる環境がある
- 制作課題を通じて、ポートフォリオが作成できる
- 学習仲間や講師とのつながりが、モチベーション維持につながる
- カリキュラムが現場で必要とされる技術に対応しているか
- 現役デザイナー・エンジニアが講師として在籍しているか
- ポートフォリオ制作のサポートが充実しているか
- 卒業後の就職・転職支援が用意されているか
- オンライン・通学など、自分の生活スタイルに合った受講形式か
遠回りせず、確実にスキルを身につけたいなら、プロに教わるのが一番の近道です。
WEBデザイナー・フロントエンドエンジニアとして一歩踏み出したいあなたにぴったりのスクールを、下記の記事でご紹介しています。ぜひチェックしてみてください。


jQueryのセレクタまとめ
ここまで、jQueryで使用できる様々なセレクタについて解説してきました。
セレクタの使い方を正しく理解し、状況に応じて適切に使い分けることで、より効率的なDOM操作が可能になります。
以下に、各カテゴリごとのセレクタの特徴をまとめますので、復習や実装時の参考にしてください。
基本のセレクタ
HTML要素を直接指定する基本的なセレクタ群。最初に覚えるべき重要なセレクタです。
- 要素セレクタ:$(‘p’) のように、タグ名で選択
- IDセレクタ:$(‘#header’) のように、特定のIDを持つ要素を選択
- classセレクタ:$(‘.btn’) で、同じクラスを持つ複数の要素を一括選択
- グループセレクタ:$(‘h1, h2, h3’) のように、複数のセレクタをまとめて指定
- ユニバーサルセレクタ:$(‘*’) ですべての要素を選択(慎重に使用)
擬似クラスセレクタ
要素の状態や順序に基づいて選択できる、柔軟性の高いセレクタです。
- 位置系
- :first-child / :last-child:最初・最後の子要素
- :first-of-type / :last-of-type:同じタグの中での最初・最後
- :nth-child(n) / :nth-of-type(n):n番目の子や同種の要素
- :nth-last-child(n) / :nth-last-of-type(n):末尾からn番目
- :only-child / :only-of-type:兄弟の中で唯一の要素
- 条件系
- :not(selector):指定したセレクタ以外を選択
- :empty:中身のない要素を選択
属性セレクタ
要素の属性や属性値に基づいて、より詳細な条件指定ができるセレクタです。
- 特定の属性と値を持つ要素を選択:[attr=”value”]
- 特定の値と一致しない要素を選択:[attr!=”value”]
- 特定の文字列で始まる属性値を持つ要素:[attr^=”value”]
- 特定の文字列で終わる属性値を持つ要素:[attr$=”value”]
- 文字列を含む属性値を持つ要素:[attr*=”value”]
セレクタを使いこなすコツ
- 組み合わせて使う:基本セレクタ+属性セレクタ、擬似クラス+階層セレクタなど、複合的に指定することで精度が高まる。
- パフォーマンスを意識:不要に広範囲を指定すると処理が重くなるため、対象を限定する工夫が重要。
- 目的別に選び分ける:順番・属性・構造など、何を基準に要素を選ぶかを明確にしてからセレクタを選ぶと効率的です。
以下の記事では、jQueryの初心者に本当におすすめできる書籍を厳選して紹介しています。
「何から始めたらいいかわからない」という方にも、自信をもっておすすめできる7冊をまとめました。
ぜひこちらもチェックしてみてください。











