「まだまだjQueryのサイトが現役」——これは事実です。CMSや長年運用されてきた業務Web、社内ツール、プラグイン資産。 そして何より、「機能は変わらないのに全面刷新の説明が難しい」という現場のリアルがあります。
そんな中、2026年1月に jQuery 4.0 が正式リリースされました。約10年ぶりのメジャーアップデートです。 破壊的変更はゼロではありませんが、公式の見解としては 「多くのプロジェクトは最小限の修正でアップグレード可能」とされています。 この記事では、いま動いているjQuery資産を「安全に延命」しつつ、次の選択肢へ進むための要点を、技術者向けに整理します。
jQuery 4.0の非互換は、大半が長年 Deprecated(非推奨)だった機能の削除です。 「使っていなければ何も起きない」一方、古いコード・古いプラグインが混ざると一気に出ます。
jQuery.trim → String.prototype.trimjQuery.isArray → Array.isArrayjQuery.parseJSON → JSON.parsejQuery.now → Date.nowjQuery.isFunction → (不要。型判定は設計を見直す)
以前は内部用だった push/sort/splice などが、jQueryオブジェクトから削除されました。
もし直接使っていた場合は、標準の配列メソッドを call 適用する形へ修正します。
[] .push.call($elems, elem)
.toggleClass(true|false) の真偽値シグネチャ廃止:.addClass()/.removeClass()を明示.css("width", 100) のような数値指定での自動px付与が廃止:"100px"のように単位を明示ここは「動いているからOK」になりやすい場所です。特にフォームのフォーカス制御、UIコンポーネント(EasyUI等)、 入力補助、バリデーション、キーボード操作まわりは、移行後に実画面での再テストをおすすめします。
jQueryチームは 4.0対応のアップグレードガイドと、jQuery Migrate 4.0プラグインを提供しています。 まずは Migrate を読み込み、コンソール警告を確認すると、廃止機能の使用箇所や必要な修正を具体的に把握できます。
jQuery本体よりも、実際に詰まりやすいのは古いプラグインです。
非推奨API(例:jQuery.trim 等)に依存していると、4.0で止まります。
jQuery 4.0はセキュリティファーストなアップデートです。特に注目は、Strict CSP環境で重要になる Trusted Types対応と、スクリプト評価まわりの挙動整理です。
Trusted Typesは、DOM操作に渡す文字列を「信頼できる型」にラップして、不用意なスクリプト混入を防ぐ仕組みです。
4.0では、$(trustedHtmlObj) や $elem.html(trustedHtmlObj) のように TrustedHTML を渡しても
ポリシー違反になりにくい実装に調整されています。
<script> タグ経由に統一CSP違反や意図しない実行のリスクを減らす方向です。Strict CSPを導入しているプロダクトほど恩恵があります。
データストレージ周りの実装見直しにより、prototype汚染のような問題に対する対策も含まれるとされています。 jQuery 3.5でHTML prefilter処理を変更しXSS脆弱性へ対応した経緯があり、4.0でも同様に既知のリスクを塞ぐ方向です。
<script type="module"> でも読み込み可能trim/parseJSON等の削除は、標準APIが十分に使える時代になったことの表れです。 Deferredについても「対応ブラウザならネイティブPromiseを使うべき」という方針が明確になりました。
$.ajax がバイナリ/FormDataをより直接的に扱いやすくquerySelectorAll で処理できる範囲に寄せ、古いサポートを整理focusin/focusout のShim除去、jQuery.event.special周りの簡素化などjQuery 4.0はIE10以前を公式にサポート終了しました。対応ブラウザは「IEは11のみ」+モダンブラウザ(現行と一つ前まで)です。
Web全体では、依然としてjQueryは高い利用率を維持しています。一方で「動いているサイトに残っている」ことと 「新規案件で選ばれている」ことは別で、後者は減少傾向です。
document.querySelector(All)element.classList.add/remove/toggleaddEventListenerfetch()(Promiseベース)jQueryは「DOMを直接操作するライブラリ」。React/Vue等は「状態管理とコンポーネント化を含むアプリ開発プラットフォーム」です。 UIが複雑になるほど、jQueryだけでの継続はスパゲッティ化しやすくなります。
ただし、React/VueはDOMを内部で管理するため、アプリ内で不用意にjQueryでDOMを書き換えると不整合を招きます。 併用する場合は「管轄を分ける」「ライフサイクルの外に追い出す」等の工夫が必要です。
jQuery 4.0は「レガシーの終わり」ではなく、むしろ現代のブラウザ・セキュリティ要件に合わせて、既存資産を延命できる更新です。 そして現場では、刷新の理想論よりも「止めずに前に進める」設計が重要になります。