Комментарии 46
Забыли еще одно важное изменение — скорость выполнения .data() наконец-то сопоставима со скоростью выполнения .attr(). При тысячах вызовов разница в скорости была довольно весомой и приходилось использовать второе.
+4
Мде… а я еще с 1.5 не успел наиграться…
+3
Кстати, по непонятным причинам CDN от гугла до сих пор не имеет 1.6 ( docs.jquery.com/Downloading_jQuery и code.google.com/intl/uk-UA/apis/libraries/devguide.html#jquery — только 1.5.2)
Хотя Micrsoft уже CDN-ят… странно как-то.
Хотя Micrsoft уже CDN-ят… странно как-то.
+1
Хороший топик. Именно так должны выглядеть топики про новый релиз jQuery, а не «Вышел jQuery 1.6»
+64
Капец, как же быстро она развивается!
+3
tv = ['test-value'];
видимо имелось в виду
tv = d['test-value'];
+2
Разработчики добавили возможность изменения css-свойств элементов функцией .css() в зависимости от их значения с помощью инструкций "+=" и "-="
Как же я рад! Спасибо!
+6
а есть что то типа visualjquery, но посвежей ?) а то больно хороший ман был
0
C каждой версией всё лучше и лучше, и нет ощущения «нагроможденности» )
0
ого, jqapi.com/ уже для 1.6
Шустро, молодцы.
Шустро, молодцы.
+4
«ключи надо передавать в camel-case формате» — насколько я знаю camelcase — это записьТакогоФормата, а в примере идет разделение дефисом.
0
Читайте внимательнее, пример есть и для версии 1.5 — там-дефисом, есть и для 1.6 — тамCamelCase
+1
Ну, формально, записьТакогоФормата — это camelBack :)
CamelCase — это ЗаписьТакогоФормата.
CamelCase — это ЗаписьТакогоФормата.
+2
Интересно зачем было ломать старый attr, а не ввести просто новый метод attr2?
Возможно это проблема авторов плагинов, но вот у меня 7 из 9 сторонних плагинов из нового attr отвалились.
Возможно это проблема авторов плагинов, но вот у меня 7 из 9 сторонних плагинов из нового attr отвалились.
0
Очень часто авторы библиотек и фреймворков становятся перед выбором: новые костыли для обратной совместимости или изменение интерфейса. Как правило, первый подход сильно усложняет код и в конечном итоге ведет к удорожанию поддержки и снижению эффективности, а второй может вызвать неприятие сообщества. Как правило фреймворки идут по первому пути и в итоге задыхаются под собственной тяжестью, вытесняемые молодыми конкурентами. Второй путь требует определенного мужества и сопряжен с риском. Но я рад, что ребята из jQuery выбрали именно его
+2
Старый attr() работает отлично. Мне лично код для совместимости с новым его поведением править не пришлось. Просто не надо было делать вот так:
Это мало того что некрасиво, так теперь еще и неправильно.
var a = $('input').attr('value');
var b = $('[type=checkbox]').attr('checked')
Это мало того что некрасиво, так теперь еще и неправильно.
0
Вот здесь я, кстати, наврал. Обратите внимание на
Не самый красивый код для временной совместимости 1.5 и 1.6
Код работает только в базовых случаях, на практике все может пройти не так гладко.
$('.mycheckbox').attr('checked', true);
$('.mycheckbox').attr('checked', false);
Не самый красивый код для временной совместимости 1.5 и 1.6
$('.mycheckbox:not(:checked)').click();
$('.mycheckbox:checked').click();
Код работает только в базовых случаях, на практике все может пройти не так гладко.
0
Для тех кто не очень глубоко в теме — это сильно страшно, нет?
0
Не забудьте о найденном неприятном баге — jQuery 1.6 отправляет IE6 в бесконечный цикл. Исправление будет в 1.6.1 в конце недели. Если прямо так уж не терпится выпустить 1.6 в продакшн — ручки в помощь. Мне вот, например, не терпится, поскольку data наконец соответсвует спецификации и ей можно пользоваться.
+3
о. теперь понятно, что изза attr у меня был баг на одном сайте (:
0
Подскажите где почитать подробнее про data (желательно на русском)?
0
google://data-атрибуты — первая же ж ссылка
0
А вот только что вышел jQuery 1.6.1 RC1
0
А вот уже и 1.6.1 released
0
Давайте на чистоту, что-то перемудрили
0
$("#id INPUT, #id SELECT").attr(«disabled»,""); — не пашет (работало в 1.5 )
$("#id INPUT, #id SELECT").attr(«disabled»,false); — пашет (работает в 1.6)
мне кажется это противоречит их нововведениям: «в 1.5 вызов .attr('checked') возвращал true/false в зависимости от установки флага, в версии же 1.6 .attr('checked') вернёт строковое значение, записанное в атрибут»
а вы как считаете?
извините, предыдущий коммент сам запостился при вставке строк через (Ctrl + V) удалять или исправлять свои комменты похоже нельзя
$("#id INPUT, #id SELECT").attr(«disabled»,false); — пашет (работает в 1.6)
мне кажется это противоречит их нововведениям: «в 1.5 вызов .attr('checked') возвращал true/false в зависимости от установки флага, в версии же 1.6 .attr('checked') вернёт строковое значение, записанное в атрибут»
а вы как считаете?
извините, предыдущий коммент сам запостился при вставке строк через (Ctrl + V) удалять или исправлять свои комменты похоже нельзя
0
Если исходить из того, что было в 1.5 и что стало в 1.6, то может быть и перемудрили, но вот если бы они так делали изначально — то это было бы правильнее, на мой взгляд, чем было в 1.5. Поэтому они внесли нужные изменения, которые да, вызвали проблемы с переходом на сл. версию, но, ИМХО, изменения нужные.
0
… продолжаю (у хабра проблемы с сочетаниями клавишь в ФФ):
но зачем менять
$("#id").attr(«disabled»,false);
когда было
но зачем менять
$("#id").attr(«disabled»,false);
когда было
0
$("#id").attr(«disabled»,""); — это ведь правильней, они же так поступили с «checked», зачем менять на противоположный для «disabled»?
0
извините за комментарий который получился по кусочкам, хабр реально глючит, пришлось это сообщения сначала набрать в блокноте )))
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Нововведения в jQuery 1.6