UPD:読者の要求に応じて、主要な変更のリストが追加されました。先月5月20日金曜日、jQuery 3.0 Release Candidateがリリースされました。これは、jQuery 3.0のほぼ最終バージョンであり、実際に試してみることができます。 jQueryの3番目のバージョンのリリース後、ブランチ1.12および2.2は重要なパッチをしばらく受け取りますが、新しい機能や大きな変更は受け取りません。 jQuery 3.0はIE 6、7、および8バージョンをサポートしません。したがって、これらのブラウザーのサポートが必要な場合は、最新リリース1.12を使用できます。
JQueryの作成者は、新しいバージョンへの移行がほとんどのユーザーに問題を引き起こさないと期待していますが、古いコードと互換性のない重要な変更がいくつかあります。 そのような場合には、
新しいバージョンにアップグレードするための
ガイドと
、互換性の問題を修正するために設計され
た移行プラグインがあります。
jQuery 3.0リリース候補ダウンロードのリンク:完全版:
https :
//code.jquery.com/jquery-3.0.0-rc1.js縮小:
https :
//code.jquery.com/jquery-3.0.0-rc1.min.jsnpmを介してプラグインの新しいバージョンをインストールするオプションもあります。
npm install jquery@3.0.0-rc1
jQuery Migrate 3.0-rcプラグイン:完全版:
code.jquery.com/jquery-migrate-3.0.0-rc1.js縮小 :
code.jquery.com/jquery-migrate-3.0.0-rc1.min.jsnpmを介したインストール:
npm install jquery-migrate@3.0.0-rc1
変更点の短いリストは
jQueryブログページ 、より完全なものは
jQuery Core 3.0アップグレードガイドページと
githubのバグトラッカーにあります。
主な変更点のリスト:
ブラウザサポート:- Internet Explorer:9+
- Chrome、Edge、Firefox、Safari:現在および以前のバージョン
- Opera:現在のバージョン
- SafariモバイルiOS:7+
- Android 4.0以降
アヤックス- オブジェクトの成功、エラー、および完全に遅延したメソッドはjQuery.ajaxから削除されました。代わりに、標準のdone、fail、およびalwaysを使用するよう提案されています。
- jQuery.ajax()およびjQuery.get()を介したクエリのクロスドメインスクリプトは、スクリプトを通常のコンテンツとして送信することによる攻撃の可能性を防ぐために、dataType:“ script”として宣言する必要があります。 その際、jQuery.getScript()は、以前と同様に、デフォルトでdataType: "script"を設定します。
- jQuery.ajax()はURLからハッシュを削除しなくなりました。 宛先サーバーがそのようなアドレスをサポートしていない場合は、自分でハッシュを削除する必要があります。
- jQuery.get()とjQuery.post()が設定パラメーターをサポートするようになりました( github.com/jquery/jquery/issues/1986 )
属性- .removeAttr()は、checked、selected、readonlyなどの属性に対してfalseを設定しなくなりました。 代わりに、必要に応じて、.prop( "checked"、false)を使用することをお勧めします
- 複数選択(複数選択)、選択された値の空のリストで、空の配列を返します
- SVGは.addClass()や.hasClass()などのクラスメソッドをサポートするようになりました
- 引数と.toggleClass(ブール値)なしの.toggleClass()メソッドは非推奨です。動作は同じままですが、使用は推奨されておらず、将来変更される可能性があります。
コア- jQuery 3.0はストリクトモードで動作します( "use strict")
- ドキュメント対応ハンドラーが非同期で動作するようになりました
- 非推奨の.contextおよび.selectorプロパティを削除
- 以前に文書化されていないメソッドjQuery.swap、jQuery.buildFragment、jQuery.domManipを削除しました
- width()、. height()、. innerWidth()、. innerHeight()、. outerWidth()、. outerHeight()、. offsetTop()、および.offsetLeft()メソッドは、nullではなくundefinedを返すようになりました
- for ... ofループは、jquery要素のコレクションに使用できるようになりました(たとえば、.each()の代わりに)
- jQuery.ready promiseの正式なサポートが含まれています
- jQuery.unique()メソッドの名前がjQuery.uniqueSort()に変更されました
- jQuery.parseJSON()は非推奨です。ネイティブJSON.parse()を使用することをお勧めします
データ- .data()メソッドは、ハイフン付きの名前をサポートするようになりました
延期画面サイズ- メソッド.width()、. height()、. css(「幅」)、および.css(「高さ」)は、整数値だけでなく、
- ウィンドウオブジェクトの.width()、. height()、. css( "width")、および.css( "height")メソッドには、スクロールバーの幅が含まれるようになりました。
効果イベント- .load()、. unload()、および.error()メソッドを削除
- .onからreadyイベントを削除( "ready"、fn)
- 正規化event.pageXおよびevent.pageYを削除しました
- jQuery.event.propsおよびjQuery.event.fixHooksを削除しました
- bind()および.delegate()メソッドは非推奨です
操作- .wrapAll(関数)が関数を1回だけ呼び出すようになりました
オフセット- 無効なjqueryセレクターに.offset()を適用すると、エラーが発生するようになりました
セレクター- 変更された動作:非表示および表示セレクター
- jQuery( "#")および.find( "#")は有効なセレクタではなくなりました
- 新しいjQuery.escapeSelector()メソッド
- 非推奨のjQuery.expr [":"]およびjQuery.expr.filters
連載- jQuery.param()は%20をプラス記号に変換しなくなりました
あなたのコメントと発言を歓迎します。 PMでバグや欠点を報告してください。
よろしくお願いします!