O documento descreve a biblioteca JavaScript jQuery, destacando suas principais funcionalidades como seleção e manipulação de elementos DOM, animações, compatibilidade entre navegadores, simplicidade de uso e produtividade. Apresenta os principais métodos e seletores da biblioteca para realizar tarefas comuns como recuperar e alterar atributos, estilos, classes de elementos, adicionar e remover elementos, animações etc.
2. Biblioteca JavaScript
Cross-browser(IE 6.0+, FF 2.0+, Safari
3.0+, Opera 9.0+, Chrome)
MUITAS funcionalidades
3. Manipulação de DOM
Animações
Utilitários
(ex: AJAX)
Compatibilidade entre navegadores
Etc.
4. Simplicidade
• Tudo numa linha de código
Selecionar e manipular coisas
• “Pegue tais elementos e faça tal coisa”
Um ou muitos: tanto faz
• Se funciona pra um, funciona pra muitos
Diga exatamente o que quer fazer
• Foco em “o que”, não em “como”
9. Um ou muitos
• $('input#cpf').remove()
Remove 1 elemento
• $('input.numerico').remove()
Remove 2 elementos
• $('input').remove()
Remove 4 elementos
• Se funciona pra um, funciona pra muitos
• (alguns métodos operam somente em um mesmo)
10. Transformações no documento HTML
• Atributos (id, value, class, disabled, style etc.)
• Elementos (adicionar, remover, mover, copiar)
11. Vamos pegar o último exemplo:
• $('input#cpf')
Ou simplesmente...
• $('#cpf')
16. Esconder/exibir elemento:
• $('#cpf').css('display', 'none')
• $('#cpf').css('display', 'inline') // ou seria block?
E pra alternar a exibição?
• Tem que ver se está sendo exibido
• Se está, esconde
• Se não está, exibe
23. Exibir elemento?
• show
Ocultar elemento?
• hide
Alternar exibição de elemento?
• toggle
24. Seletores
Um ou muitos
Atributos
• attr
• val
• class
• hide/show/toggle
25. Métodos para:
• Adicionar elementos HTML ou texto
• Remover elementos HTML
Exemplos de aplicação:
• Alterar uma tabela
• Criar novas seções na página
28. remove
• Remove elementos do DOM
• $('table').remove()
remove / hide
• hide() apenas esconde, usando display: none
• remove() efetivamente remove do DOM
35. parent
• Pai (elemento imediatamente acima)
parents
• Todos os ancestrais (pai, avô etc.)
siblings
• Irmãos
E dá para filtrar em todos eles!
• $('span').parent('.selecionado')
• $('span').parents('fieldset')
• $('table tr td#meu-td').siblings('.inativo')
36. closest
• Próprio elemento ou ancestral mais próximo
• $('div#minha-div').closest('.minha-classe')
filter
• Filtra um objeto jQuery
• Similar à filtragem com children, parents etc.
• $('div, p, span, br').filter('.remover').remove()
41. Com jQuery:
• $('input#meu-input').change(funcao1);
• $('input#meu-input').change(funcao2);
• $('input#meu-input').change(funcao3);
Cansou dos eventos?
• $('input#meu-input').unbind();
• Afeta apenas os eventos criados com jQuery
42. $.trim
• Remove espaços sobressalentes (cross-
browser)
$.browser
• Nome e versão do navegador
$.inArray(elemento, vetor)
• Procura posição do elemento no vetor
49. first / last
• Vetor contendo somente primeiro ou último
before / after
• Insere conteúdo antes ou depois de um ou mais
elementos
clone
• Cria cópia profunda de elemento(s)
50. live
• Associa evento a elemento(s) ainda não
existente(s)
• $('button').live('click', function() { ... })
51. wrap
• Envolve elemento(s)
• $('span').wrap('<p>')
wrapInner
• Envolve conteúdo de elemento(s)
• $('td').wrapInner('<span class=“azul”>')
unwrap
• Remove pai preservando filho
• $('span').unwrap()
52. html
• Recupera / altera conteúdo HTML
• $('#elemento').html()
• $('#elemento').html('<p>um paragrafo</p>')
text
• Recupera / altera texto
• $('#elemento').text()
• $('#elemento').text('<p>menor p maior</p>')