Novidades do jQuery 1.6
Olá como todos sabem, o jquery 1.6 foi lançado no dia 03/05/2011, e essa nova versão trás uma gama de novidades, vou contar um pouco sobre elas.
Agora o jQuery esta com um apoio forte vindo da Microsoft, onde a jQCon (jQuery conference) aconteceu no centro de conferências da Microsoft.
Coisas novas
- deferred.always()
- Adiciona um handler (manipulador) para ser chamado quando o objeto Deferred for resolvido ou rejeitado
- deferred.pipe()
- Método para filtrar e fazer chain (encadeamento) de Deferreds
- Seletor :focus
- Seleciona um elemento caso ele esteja em foco
- jQuery.holdReady()
- Segura a execução do evento
ready()do jQuery, você pode saber mais no post holdReady – Manipulando a execução do .ready() - .promise()
- Um observador de ações a uma coleção de objetos.
- .prop()
- Pega o valor de uma propriedade do primeiro elemento em um grupo de elementos
- .removeProp()
- Remove uma propriedade de um grupo de elementos
Métodos que tiveram melhorias
attr()closest()find()is()jQuery.map()undelegate()css()data()
Coisas importantes que mudaram
attr() X prop()
Com a vinda do novo método prop() o attr() teve seu funcionamento alterado. Na versão 1.6 o jQuery separou nessas duas funções a propriedade do DOM e o atributo do DOM. Quando escrevemos <input type="text" value="asd" /> estamos dando ao atributo value o valor asd, mas quando alteramos ele (em tempo de execução) estamos alterando a propriedade value, ou seja, pro DOM o atributo continua o mesmo valor “asd”, mas a propriedade tem seu valor alterado.
Nessa nova versão do jQuery, o attr() pega apenas o valor dos atributos do DOM, e o prop() chegou para pegar a propriedade do DOM.
Exemplo
Com essa mudança, o comportamento do attr("checked") foi alterado, pois os navegadores na maioria das vezes tratam os valores de atributos como seu valor inicial, mas para valores boleanos o tratamento é difente, como checked e selected não tem valores (ex: <input type="checkbox" checked>) o valor do atributo é uma string vazia ou undefined.
Se você já fazia da forma correta, você não precisa se preocupar
. Algumas formas alternativas para quem usava o attr("checked").
this.checkedA versão mais rápida$(this).prop("checked")para jQuery 1.6 +$(this).is(":checked")a forma correta e que sempre funcionou
É isso galera, em breve teremos uma gama de posts sobre essas novidades.
jquery, jquery 1.6, novidades

Comentários