Query發(fā)布已經(jīng)十年了,挺讓人難以置信。過去的這些年Web開發(fā)變了很多,jQuery也隨之變化著。在這個過程中,團(tuán)隊(duì)一直在對確保過往代碼的兼容支持和獲取最好的Web開發(fā)實(shí)踐的現(xiàn)實(shí)之間努力著。就在2天前,jQuery發(fā)布了新的3.0最終版本
jQuery 3.0 最終版發(fā)布了。jQuery 3.0將是jQuery的未來。但如果你需要IE6-8支持,您可以繼續(xù)使用最新版本1.12。
為了幫助用戶升級,jQuery 發(fā)布了全新的3.0升級指南,以及 jQuery Migrate 3.0 插件將幫助您識別代碼中的兼容性問題。
您可以從jQuery CDN獲取文件,或者直接訪問鏈接:
https://code.jquery.com/jquery-3.0.0.js
https://code.jquery.com/jquery-3.0.0.min.js
您也可以從以下npm獲得更新:
npm install jquery@3.0.0
此外,jQuery Migrate 3.0 也更新了。地址:
https://code.jquery.com/jquery-migrate-3.0.0.js
https://code.jquery.com/jquery-migrate-3.0.0.min.js
npm install jquery-migrate@3.0.0
更新日志:
Ajax
Golf away 21 bytes (eaa3e9f)
Preserve URL hash on requests (#1732, e077ffb)
Execute jQuery#load callback with correct context (#3035, 5d20a3c)
Ensure ajaxSettings.traditional is still honored (#3023, df2051c)
Remove unnecessary use of jQuery.trim (0bd98b1)
Attributes
Avoid infinite recursion on non-lowercase attribute getters (#3133, e06fda6)
Add a support comment & fix a link @ tabIndex hook (9cb89bf)
Strip/collapse whitespace for set values on selects (#2978, 7052698)
Remove redundant parent check (b43a368)
Fix setting selected on an option in IE<=11 (#2732, 780cac8)
CSS
Don't workaround the IE 11 iframe-in-fullscreen sizing issues (#3041, ff1a082)
Toggle detached elements as visible unless they have display: none (#2863, 755e7cc)
Make sure elem.ownerDocument.defaultView is not null (#2866, 35c3148)
Add animation-iteration-count to cssNumber (#2792, df822ca)
Restore cascade-override behavior in .show (#2654, #2308, dba93f7)
Stop Firefox from treating disconnected elements as cascade-hidden (#2833, fe05cf3)
Core
Implement ready without Deferred (#1778, #1823, 5cbb234)
Improve isNumeric logic and test coverage (#2780, 7103d8e)
Set the base href of the context in parseHTML (#2965, 10fc590)
Simplify isPlainObject (#2986, e0d3bfa)
Add test for `jQuery.isPlainObject(localStorage)` (ce6c83f)
Do not expose second argument of the `jQuery.globalEval` (6680c1b)
Deprecate jQuery.parseJSON (#2800, 93a8fa6)
Deferred
Separate the two paths in jQuery.when (#3029, 356a3bc)
Provide explicit undefined context for jQuery.when raw casts (#3082, 7f1e593)
Remove default callback context (#3060, 7608437)
Warn on exceptions that are likely programming errors (#2736, 36a7cf9)
Propagate progress correctly from unwrapped promises (#3062, d5dae25)
Make jQuery.when synchronous when possible (#3100, de71e97)
Remove undocumented progress notifications in $.when (#2710, bdf1b8f)
Give better stack diagnostics on exceptions (07c11c0)
Dimensions
Add tests for negative borders & paddings (f00dd0f)
Docs
Fix various spelling errors (aae4411)
Update support comments related to IE (693f1b5)
Fix an incorrect comment in the attributes module (5430c54)
Updated links to https where they are supported. (b0b280c)
Update support comments to follow the new syntax (6072d15)
Use https where possible (1de8346)
Use HTTPS URLs for jsfiddle & jsbin (63a303f)
Add FAQ to reduce noise in issues (dbdc4b7)
Add a note about loading source with AMD (#2714, e0c25ab)
Add note about code organization with AMD (#2750, dbc4608)
Reference new feature guidelines and API tenets (#2320, 6054139)
Effects
Remove width/height exception for oldIE (#2488, e04e246)
Add tests for using jQuery.speed directly (#2716, cb80b42)
Event
Allow constructing a jQuery.Event without a target (#3139, 2df590e)
Add touch event properties, eliminates need for a plugin (#3104, f595808)
Add the most commonly used pointer event properties (7d21f02)
Remove fixHooks, propHooks; switch to ES5 getter with addProp (#3103, #1746, e61fccb)
Make event dispatch optimizable by JavaScript engines (9f268ca)
Evaluate delegate selectors at add time (#3071, 7fd36ea)
Cover invalid delegation selector edge cases (e8825a5)
Fix chaining .on() with null handlers (#2846, 17f0e26)
Remove pageX/pageY fill for event object (#3092, 931f45f)
Events
Don't execute native stop(Immediate)Propagation from simulation (#3111, 94efb79)
Manipulation
Bring tagname regexes up to spec (#2005, fb9472c)
Offset
Resolve strict mode ClientRect “no setter” exception (3befe59)
Selector
filters -> pseudos (#2073, 0402963)
Update Sizzle to 2.3.0 (5c4be05)
Add jQuery.escapeSelector (#1761, 25068bf)
Serialize
Treat literal and function-returned null/undefined the same (#3005, 9fdbdd3)
Reduce size (91850ec)
Support
Improve support properties computation (#3018, 44cb97e)
Tests
Take Safari 9.1 into account (234a2d8)
Limit selection to #qunit-fixture in attributes.js (ddb2c06)
Set Edge's expected support for clearClone to true (28f0329)
Fix Deferred tests in Android 5.0's stock Chrome browser & Yandex.Browser (5c01cb1)
Add additional test for jQuery.isPlainObject (728ea2f)
Build: update QUnit and fix incorrect test (b97c8d3)
Fix manipulation tests in Android 4.4 (0b0d4c6)
Remove side-effects of one attributes test (f9ea869)
Account for new offset tests (f52fa81)
Make iframe tests wait after checking isReady (08d73d7)
Refactor testIframe() to make it DRYer and more consistent (e5ffcb0)
Weaken sync-assumption from jQuery.when to jQuery.ready.then (f496182)
Test element position outside view (#2909, a2f63ff)
Make the regex catching Safari 9.0/9.1 more resilient (7f2ebd2)
Traversing
.not/.filter consistency with non-elements (#2808, 0e2f8f9)
Never let .closest() match positional selectors (#2796, a268f52)
Restore jQuery push behavior in .find (#2370, 4d3050b)