今から学ぶなら、JavaScriptです。jQueryはJavaScriptで書かれたライブラリ(よく使う処理を短く書くための道具)で、別の言語ではありません。実際の問いは「jQueryにどこまで時間を使うか」です。
答えは目的で分かれます。Web制作なら、到達点は「素のJavaScript(ライブラリなしで書くJavaScript)で書けて、jQueryは読める」。Webアプリ開発なら、jQueryに時間を使う必要はありません。
「読める」まで残す理由は数字にあります。W3Techsの調査では、2026年10月5日時点で全Webサイトの65.5%がjQueryを使っています。書く場面は減り、動いているコードを読んで直す場面が残っています。
何をどの順で学ぶかはJavaScript独学ロードマップの学習4ステップに譲り、この記事は次の5つを書きます。
Web制作志望は「素のJavaScriptで書ける+jQueryが読める」、アプリ開発志望は「JavaScriptだけ」が答えです。
| 目的 | 書けるようにするもの | jQueryの扱い | 理由 |
|---|---|---|---|
| Web制作 (企業サイト・LP) |
素のJavaScript(基礎文法と、要素を選んで変えるDOM操作) | 読める。既存コードに合わせて数行直せる | 既存サイトの改修とWordPressで出会う |
| Webアプリ開発 | JavaScriptを深く。その後フレームワーク | 学ばない。出会ったら調べる | 新規のアプリ開発では出番がほぼ無い |
学ぶ範囲の違いはロードマップの「分岐点」の章に、職種の違いはコーダーとフロントエンドエンジニアの違いの記事にあります。
「Web制作ならjQueryから」と勧める解説も多く、入口としては成立します。当校のカリキュラムも、最初の動的サイトはjQueryで作ります。そのうえで、この記事が到達点を素のJavaScript側に置く理由は2つです。
ルートAは、素のJavaScriptで実装まで進み、最後にjQueryの読解を足す順です。独学にはこちらを勧めます。ロードマップの「④既存コードの読解」の題材にjQueryを選べば、別枠の時間は要りません。
ルートBは、jQueryで先に動くものを作り、同じものを素のJavaScriptで書き直す順です。画面が早く動き、手応えを先に得られます。独学では書き直しが飛ばされがちなので、書き直しまでを1セットにしてください。すでにjQueryから学び始めた方は、このルートの途中にいます。
通過の判定は同じで、次章の対訳3例のjQuery側だけを見て、素のJavaScript側を自分で書けるかです。Reactへ先に進むか迷う方は、ロードマップのパターン3を読んでください。
Web制作でよく書く3つの処理を並べると、3例ともjQueryのほうが2行短く書けます。書き方そのものが変わるのはアニメーションだけです。
// jQuery
$('.js-menu-btn').on('click', function () {
$('.js-nav').toggleClass('is-open');
});
// 素のJavaScript
const menuBtn = document.querySelector('.js-menu-btn');
const nav = document.querySelector('.js-nav');
menuBtn.addEventListener('click', () => {
nav.classList.toggle('is-open');
});
どちらも「ボタンを選ぶ→クリックを待つ→ナビのクラスを切り替える」の3手です。
// jQuery
$('.js-faq-q').on('click', function () {
$(this).next().slideToggle(300);
});
// 素のJavaScript
document.querySelectorAll('.js-faq-q').forEach((question) => {
question.addEventListener('click', () => {
question.nextElementSibling.classList.toggle('is-open');
});
});
/* 素のJavaScript側のCSS(回答 .faq-a の中身は div でもう1重包む) */
.faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s; }
.faq-a.is-open { grid-template-rows: 1fr; }
.faq-a > div { overflow: hidden; }
slideToggle()に当たる1行は、素のJavaScriptにありません。jQueryは高さの変化をJavaScriptで計算し、素のJavaScript側は動きをCSSのtransitionに任せます。高さautoへのtransitionはMDNが避けるよう書いているため、グリッドの行を0frから1frへ変えています(Chrome 107・Firefox 66・Safari 16以降。MDNの互換性表)。
jQuery側のCSSは別で、回答をdisplay: noneで隠しておきます。上のCSSのままjQuery側を動かすと、検証では何度クリックしても開きませんでした。
// jQuery
$('a[href^="#"]:not([href="#"])').on('click', function (event) {
const target = $($(this).attr('href'));
if (!target.length) return;
event.preventDefault();
$('html, body').animate({ scrollTop: target.offset().top }, 500);
});
// 素のJavaScript
document.querySelectorAll('a[href^="#"]:not([href="#"])').forEach((link) => {
link.addEventListener('click', (event) => {
const target = document.querySelector(link.getAttribute('href'));
if (!target) return;
event.preventDefault();
target.scrollIntoView({ behavior: 'smooth' });
});
});
jQueryはanimate()でスクロール位置を動かし、素のJavaScriptはscrollIntoView()に任せます。単純なページ内リンクなら、CSSのhtml { scroll-behavior: smooth; }だけで足ります。:not([href="#"])は、href="#"だけのリンクがどちらの書き方でもセレクタのエラーになるのを避けるためです。
差が2行なら、行数は選ぶ決め手になりません。jQuery公式も4.0.0のリリース記事で、アニメーションはCSSとクラス操作の組み合わせのほうが簡単なことが多いと書き、通信とアニメーションを除いた軽量版(slim版)を配布しています。
線は、下の対応表を読み替えられることと、50行程度のコードを説明して1箇所直せることの2本です。白紙から書けるところまでは求めません。
| jQueryの書き方 | 意味 | 素のJavaScriptでは |
|---|---|---|
$(function () { … }) |
HTMLの読み込み後に実行 | DOMContentLoadedイベント |
$('.item') |
条件に合う要素をすべて選ぶ | document.querySelectorAll('.item') |
.on('click', …).click(…) |
イベント時の処理を登録 | addEventListener('click', …) |
.addClass() .removeClass().toggleClass() .hasClass() |
クラスの付け外しと確認 | classListのadd() remove() toggle() contains() |
.text() .html() .val().attr() .css() |
文字・入力値・属性・スタイルの読み書き | textContent innerHTML value setAttribute() style |
.find() .closest().parent() .next() |
起点の要素から周りをたどる | querySelectorAll() closest() parentElement nextElementSibling |
.each(…) と $(this) |
1つずつ処理/処理中の要素 | forEach() とその引数。イベント内は event.currentTarget |
.fadeIn() .slideToggle().animate() |
アニメーション | 1行の対応は無い。クラス+CSSで書く |
確かめ方は次の3つです。
2つ目は、ロードマップの卒業判定チェックの5項目めを、jQueryのコードで試すものです。プラグインの自作、$.ajax()の通信、jQuery UIは線の外に置き、出会った時点で公式ドキュメントを引きます。
1行ずつ読み替えられても、挙動の違いで止まる箇所が4つあります。
// 差1: 要素がページに無いとき
$('.js-nav').addClass('is-open'); // jQuery: エラーは出ない
document.querySelector('.js-nav').classList.add('is-open'); // 素のJavaScript: 止まる
// Uncaught TypeError: Cannot read properties of null (reading 'classList')
差1は、トップページにしか無い要素への処理を全ページ共通のファイルに書いている場合に出ます。素のJavaScriptへ書き直した途端、下層ページでスクリプト全体が止まります。if (nav) { … }で囲めば防げます。
差2は、$('.js-nav')が返すのはjQueryオブジェクトで、DOM要素ではない点です。classListは使えず、$('.js-nav')[0]と中身を取り出せば使えます。差3はアロー関数です。functionをアロー関数へ置き換えると、中の$(this)がクリックされた要素を指さなくなります。
差4はWordPressです。同梱のjQueryはnoConflictというモードで読み込まれ、$がそのままでは使えません(WordPress公式リファレンスのユーザー投稿ノート)。静的サイトのコードをテーマへ移すと$ is not a functionと出るのはこのためで、全体をjQuery(function ($) { … });で囲めば解決します。
新規は素のJavaScriptを基本にする、jQueryで統一された既存サイトの改修はjQueryに合わせる、WordPressは同梱のjQueryを前提に判断する。
| 場面 | 書くもの | 判断の理由 |
|---|---|---|
| 新規サイト | 素のJavaScriptを基本にする。スライダーなどは依存のないライブラリから探す | 対訳のとおり差は2行。jQuery前提のプラグインを使うなら読み込む(Splideは依存なし) |
| jQueryで組まれた既存サイトの改修 | jQueryに合わせる | 流儀が混ざると次に触る人が読みにくい。前章の4つの差も踏みやすい |
| WordPressのテーマ | 自作部分は素のJavaScriptでよい。プラグインがjQuery前提なら外さない | WordPress本体がjQueryを同梱している |
jQuery.fn.jqueryと打つと"3.7.1"のように返ります(jQuery APIドキュメント)。1系・2系は公式サポートが終わった版ですslimが入っていれば、.animate() .slideToggle() $.ajax()は使えません改修のついでにjQuery本体を上げるのは避けてください。4.0.0では$.trim()や$.isArray()などが削除され、これらを使う古いコードは止まります。上げるなら公式のアップグレードガイドに沿った別作業として見積もります。
WordPressは本体にjQueryを同梱しています(Theme Handbook)。2026年10月時点の最新版7.1.2に入っているのは3.7.1で、4系ではありません(公式リポジトリのscript-loader.php)。
jQueryは「いま動いているサイト」に多く残り、「これから書く人」の間では少数派です。需要は新規の実装ではなく、読解と改修の側にあります。数字は2026年10月5日に確認しました。
| 指標 | 数字 | 出典 |
|---|---|---|
| jQueryを使うWebサイト | 全Webサイトの65.5% | W3Techs(2026年10月5日) |
| そのバージョン内訳 | 3系78.7%・1系17.1%・2系4.2% | 同上 |
| 過去1年にjQueryで 開発した開発者 |
回答者全体の23.4%、学習中の人では13.8% | Stack Overflow Developer Survey 2025 |
| jQueryの最新版 | 4.0.0(2026年1月17日公開) | jQuery公式ブログ |
| 公式サポートの範囲 | 4系が現行。3系は重大なセキュリティ修正とバグ修正のみ。1系・2系は終了 | jQuery公式 Version Support |
65.5%は在庫の数字です。W3Techsが数えているのは公開中のサイトで、これから作るサイトの採用率ではありません。母集団が違うので単純には比べられませんが、サイトのおよそ3分の2に残る一方、過去1年に開発で使った人は4人に1人弱です。
内訳では、公式サポートが終わった1系と2系が合わせて21.3%、jQueryを使うサイトのおよそ5件に1件です。4.0.0は公式が「ほぼ10年ぶりのメジャーバージョン」と書くリリースで、開発は止まっていません。
求人件数は根拠にしていません。jQuery単独の需要を切り出せる一次データを確認できなかったためです。
「jQueryが読める」は改修案件の入口を塞がないための条件で、選ばれる理由にはなりません。選ばれる理由は、目を惹く動きを高度なJavaScriptで組めることと、それがクライアントの問い合わせや売上につながることです。AI時代にコーダーへ何が残るかはコーダーの将来性とAIの記事に書いています。
AddedPallasの5段階カリキュラムは、STEP2で「JavaScript(jQuery含む)」を使った動きのあるサイトを作り、STEP4でJavaScriptを駆使した複雑な動きやシステムに進みます。同じページの説明は、jQueryが「簡単に使用できるのでまずはこれで動的サイトを作ります」、JavaScriptが「高度なレベルまで極めていただきます」です。jQueryで先に動くものを作る点はルートBの前半と同じで、行き先はJavaScript側にあります。詰まった行はチャットで質問できます(回数無制限、フィードバックは1営業日以内。サポート体制)。
Web制作とアプリ開発のどちら寄りか決めきれない方は、無料カウンセリングで作りたいものと、いま読んでいるコードを教えてください。どこまでを学ぶ範囲に入れるかを一緒に決めます。
\相談だけでもOK!すべての疑問をプロが解決します!/
「自分にできるか不安」「まずは何をすればいいの?」
「副業でもできるの?」「転職もできるの?」