Для установки jQuery 3.3.1 рекомендуется использовать npm или GitHub. Если вы пользуетесь сервисом CDN, сборки jQuery отличаются только номером версии.
Скачать jQuery 3.3.1
Вы можете скачать необходимые файлы с CDN предоставляемого jQuery, или подключить скрипт используя ссылку.
https://code.jquery.com/jquery-3.3.1.jshttps://code.jquery.com/jquery-3.3.1.min.js
Если вы используете npm
npm install jquery@3.3.1
Если вы используете Yarn
yarn add jquery@3.3.1
Чтобы сказать jQuery с помощью Bower
bower install jquery
Эта команда установит необходимые все необходимые файлы в папку bower_components. В подкаталоге bower_components/jquery/dist/ можно будет найти минифицированную и не минифицированную версию а также map file.
jQuery Slim build
Иногда вам не нужно делать ajax запросы, или вы предпочитаете использовать отдельные библиотеки для этих целей, например request,axios, или модуль $http в AngularJS. По этому вместе с стандартной сборкой jQuery, которая содержит под модули ajax, и анимационных эффектов, предоставляется урезанная ‘slim’ версия. В наше время размер библиотеки jQuery кажется крошечным по сравнению с другими фреймворками и библиотеками, но все же можно уменьшить нагрузку на сервер используя slim сборку, которая весит всего 6kb при использовании gzip сжатия, обычная версия весит 24 килобайта.
slim доступна по ссылке и npm пакете.
https://code.jquery.com/jquery-3.3.1.slim.jshttps://code.jquery.com/jquery-3.3.1.slim.min.js
Изменения в jQuery 3.3.0
Теперь методы .addClass(), .removeClass(), и .toggleClass() принимают как параметр массив классов.
jQuery(‘section.main’).addClass([‘main-content’,’bg-main’]);
Изменения в jQuery 3.2.0
- Добавлена поддержка кастомных CSS свойств
<div style="--margin: 10px; margin: var(--margin)"> Some content </div> <script> $('div').css('--margin') ; // should return 10 $('div').css('--margin',20') ; // should change block margin to 20 </script>
- Методы jQuery.holdReady,jQuery.nodeName,jQuery.isArray стали deprecated
- Исправлена ошибка в методах .width(), .height() и других связанных методах где учитывались CSS transforms свойства. Например, елемент со стилем transform: scale(3x) не должен иметь высоту и ширину в три раза больше.
- Добавлена поддержка элемента <template> в методе .contents().
let deferred = jQuery.Deferred(); deferred.then(function() { console.log("first promise"); throw new Error("Some error occured"); }) .then(function() { console.log("second promise"); }, function(err) { console.log("rejection promise", err instanceof Error); }); deferred.resolve();
Изменения в jQuery 3.0
jQuery.Deferred теперь совместим с Promises/A+
Объекты класса jQuery.Deferred теперь совместимы с Promises/A+ и промисами ES2015. Всем кто использовал этот метод ранее, нужно будет внести изменения, или заменить его на метод pipe. Также исключение выброшено в колбек .then() теперь становится значением reject. Все объекты deferred которые базировались на то что будет выброшено исключения никогда не будут выполены (resolved).
Раньше первый промис выполнялся и далее выбрасывалось исключения, и дальнейшее выполнение прекращалось. Связи с требованиями стандарта, выполняются все три колбека.
Колбеки будут выполняться асинхронно, не смотря на то Deferred был resolved
let defer = jQuery.Deferred(); defer.resolve(); defer.then(function() { console.log("success message"); }); console.log("after message");
Раньше в консоль бы вывелось «success message» потом «after message», а в последней версии наоборот.
- К Deferred был добавлен метод catch()
Анимации теперь используют requestAnimationFrame В браузерах что поддерживают requestAnimationFrame будет использоваться это API для управления анимациями. Что уменьшит использование ресурсов CPU и увеличит время работы батареи на мобильных устройствах
- Увеличена производительность кастомных селекторов.
- Для некоторых селектора например таких как :visible скорость работы была увеличена в 17 раз