Как подключить или скачать jQuery 3.3.1

Для установки jQuery 3.3.1 рекомендуется использовать npm или GitHub. Если вы пользуетесь сервисом CDN, сборки jQuery отличаются только номером версии.

Скачать jQuery 3.3.1

Вы можете скачать необходимые файлы с CDN предоставляемого jQuery, или подключить скрипт используя ссылку.

https://code.jquery.com/jquery-3.3.1.js

https://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.js

https://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().

Изменения в jQuery 3.0

jQuery.Deferred теперь совместим с Promises/A+

Объекты класса jQuery.Deferred теперь совместимы с Promises/A+ и промисами ES2015. Всем кто использовал этот метод ранее, нужно будет внести изменения, или заменить его на метод pipe. Также исключение выброшено в колбек .then() теперь становится значением reject. Все объекты deferred которые базировались на то что будет выброшено исключения никогда не будут выполены (resolved).

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();

Раньше первый промис выполнялся и далее выбрасывалось исключения, и дальнейшее выполнение прекращалось. Связи с требованиями стандарта, выполняются все три колбека.

Колбеки будут выполняться асинхронно, не смотря на то 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 раз