Вышел jQuery 1.6.1
Несмотря на то, что новая версия библиотеки jQuery 1.6 вышла совсем недавно, уже появился её первый минорный релиз. Какие же нововведения приготовили для нас разработчики? Данный релиз нацелен на доработку управления атрибутами и свойствами. Был изменен модуль Attributes , а именно, была устранена неоднозначность между свойствами и атрибутами; это что вызвало некоторое замешательство в сообществе jQuery, так как до версии jQuery 1.6 доступ ко всем свойствам и атрибутам предоставлялся через метод .attr(). Данный метод содержал в себе большое количество ошибок, и его было сложно поддерживать.
Что касается обратной совместимости, булевые атрибуты, такие как checked, selected, readonly и disabled в версии 1.6.1, будут обрабатываться так же, как и во всех предшествующих библиотеках jQuery до версии 1.6. Это означает, что код
$(“:checkbox”).attr(“checked”, true);
$(“option”).attr(“selected”, true);
$(“input”).attr(“readonly”, true);
$(“input”).attr(“disabled”, true);
или
if ( $(“:checkbox”).attr(“checked”) ) { /* Do something */ }
не придется изменять при работе с версией 1.6.1, и он будет обрабатываться как и ранее.
Для внесения ясности в изменения метода .attr(), ниже представлено несколько примеров, показывающих, в каких случая необходимо использовать метод .prop():
.attr()
$(window).attr…
$(document).attr…
$(“:checkbox”).attr(“checked”, true);
$(“option”).attr(“selected”, true);
Вместо использования метода .attr() правильнее использовать метод .prop():
$(window).prop…
$(document).prop…
$(“:checkbox”).prop(“checked”, true);
$(“option”).prop(“selected”, true);
Если быть точным, то на данный момент версия 1.6.1 поддерживает обратную совместимость, однако команда разработчиков советует использовать метод .prop() для всех булевых свойств и для свойств, которых не существует в html (таких как window.location). Работа со всеми прочими атрибутами (которые вы можете встретить в html), должна осуществляться через метод .attr() как и раньше.
Более подробно о jQuery 1.6.1 можно узнать на официальном сайте проекта.
Источник: jQuery
Метки: jQuery, технологии