
Сегодня наконец был выпущен новый релиз JQuery версии 1.9. Давайте глянем какие нововведения и изменения мы тут увидим.
Jquery 1.9 и находящийся в бете Jquery 2.0 имеют схожий API.
Удалены некоторые устаревшие функции, такие как $.browser.
JQuery 1,9 пока еще работает на устаревших версиях Internet Explorer 6, 7 и 8. Но в версии JQuery 2.0 поддержка будет прекращена. Благодаря этому работать он будет быстрее и весить, соответственно, меньше.
Версия 1.9 уже доступна на CDN jquery и в ближайшем времени будет доступна на CDN Google и Microsoft
Для тех кто хочет проверить свои скрипты на JQuery 2.0 Beta 1 можно использовать JQuery CDN:
Для проверки вы можете подключить плагин jquery-migrate. Чтобы увидеть какие изменения могут вызвать проблемы с вашим кодом. Независимо от того какую версию Jquery вы используете, не забудьте открыть консоль, чтобы увидеть предупреждения или ошибки которые генерирует jquery-migrate. Предупреждения начинаются со слова «JQMIGRATE» и перечислены в документации плагина. Это поможет вам понять, что сломалось и как это можно исправить.
ЧТО НОВОГО В 1.9
Упрощенный API: многие устаревшие и сомнительные функции были удалены, как описано в обновлении руководства.
Обновлена функция .css(): Теперь Вы можете получить все значения css, запросив массив с ключами:
var dims = $("#box").css([ "width", "height", "backgroundColor" ]);
// { width: "10px", height: "20px", backgroundColor: "#D00DAD" }
Расширениная кросс-браузерная поддержка CSS3: JQuery 1,9 теперь поддерживает следующие CSS3 селекторы во всех браузерах: :nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :target, :root, и :lang.
Новый метод .finish: Этот метод может быть использован, чтобы немедленно завершить все анимации в очереди на элемент.
Другие исправления
AJAX
# 12004: Добавлен метод ajax.method как псевдоним для ajax.type
# 12550: Исправлен JQuery Ajax cache=false не всегда работал
ATTRIBUTES
# 9905:. RemoveAttr («ID») теперь не даёт сбои в IE7
# 12048: [IE6/7/8] XML набор атрибутов
# 12584: JQuery неправильно сериализует с одной сломанной # 12600: jQuery(‘select’).is(‘[value=«value»]‘) работает непоследовательно в зависимости от числа возвращаемых элементов.
# 12945: Attr бросает исключение в IE9 на Flash object
# 13011: Установка атрибута type на входе не работает как положено
BUILD
# 12254: Reflected XSS
# 12725: Не локализованные UTF-8 символы в intro.js
# 12741: несовместимый конц строки в официальном JQuery-1.8.2.js
CORE
# 11737: Удалён jQuery.sub
# 12134. Реализации HTML5 compilant data form в $ fn.serialzeArray
# 12519: Public методы API не должны иметь privat аргументы
# 12840: Удалён (privat) параметр «pass» в jQuery.attr и jQuery.access
# 13021: each() не может хорошо работать с большими объектами
# 13075. Оптимизация производительности $.type
# 13076: Оптимизация производительности (10-30%) для $(“some-selector”)
CSS
# 11938: jQuery.css должны принять массив, чтобы получить несколько свойств
# 12990: «px» автоматически добавляется в колонке количество в CSS
# 13088. Под IE8, $(selector).attr(‘style’) всегда возвращает строку
Ссылки
Официальный сайт
Весь список изменений
Руководство по миграции