SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Por Bruno Cunha
Definição
• Criada por John Resig em 2006;
• OpenSource (MIT, GPL)
   – Massachusetts Institute of Technology
   – GNU General Public Licence
   – Uso Pessoal e Comercial;
• Framework JavaScript;
• Focado na simplicidade de escrita não
  exigindo conhecimento de programação;
Para que serve
• Adicionar interatividade e dinamismo às páginas web;
• Criar scripts que visem a incrementar:
   – Usabilidade
   – Acessibilidade
   – Design
• Enriquecer a experiência do usuário, de forma
  progressiva e não-obstrutiva;
   – Javascript não obstrutivo diz respeito a scripts que, ao
     serem desabilitados, não interferem no funcionamento da
     página.
Do que jQuery é capaz
• Adicionar efeitos visuais e animações;
• Acessar e manipular o DOM;
  – Document Object Model
• Buscar informações no servidor sem necessidade
  de recarregar a página;
• Prover interatividade;
• Alterar conteúdo;
• Modificar apresentação e estilização;
• Simplificar tarefas específicas de JavaScript;
Compatibilidade nos Navegadores

• Firefox 2.0+

• Internet Explorer 6+

• Safari 3+

• Opera 10.6+

• Chrome 8+
Simplicidade

JQUERY NA PRÁTICA
Muda o jeito de escrever JavaScript

var tables = document.getElementsByTagName('table');
   for (var t = 0; t < tables.length; t++)
   {
       var rows = tables[t].getElementsByTagName('tr');
       for (var i = 1; i < rows.length; i += 2)
       {
           if (!/(^|s)odd(s|$)/.test(rows[i].className))
           {
               rows[i].className += ' odd';
           }
       }
   }
Muda o jeito de escrever JavaScript



$('table tr:nth-child(odd)').addClass('odd');
Filosofia jQuery


Encontrar Coisas

                   Fazer Algo
Filosofia jQuery


$(Encontrar Coisas)

                      .Fazer Algo();
Exemplos

$("div").hide(); //efeito

$("button").remove(); //DOM

$("form").submit(); //evento

$("p").addClass("especial"); //DOM

$("span").show("fast"); //animação
<!DOCTYPE html><html><body>
<ul>
       <li><a>home</a></li>
       <li><a>about</a></li>
</ul>
</body></html>
<!DOCTYPE html><html><body>
<ul>
       <li><a>home</a></li>
       <li><a>about</a></li>
</ul>
<script src="jquery.js"></script>
</body></html>
<!DOCTYPE html><html><body>
<ul>
       <li><a>home</a></li>
       <li><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul');
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
    <li><a>home</a></li>
    <li><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
    <li><a>home</a></li>
    <li><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
jQuery('#nav li');
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
    <li class="item"><a>home</a></li>
    <li class="item"><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
jQuery('#nav li').addClass('item');
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
    <li class="item"><a>home</a></li>
    <li class="item"><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
jQuery('#nav li').addClass('item');
jQuery('#nav a');
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
      <li class="item"><a>home</a></li>
      <li class="item"><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
jQuery('#nav li').addClass('item');
jQuery('#nav a').each(function(){
         jQuery(this);
});
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
      <li class="item"><a>home</a></li>
      <li class="item"><a>about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
jQuery('#nav li').addClass('item');
jQuery('#nav a').each(function(){
         jQuery(this);
});
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
      <li class="item"><a href="/home">home</a></li>
      <li class="item"><a href="/about">about</a></li>
</ul>
<script src="jquery.js"></script><script>
jQuery('ul').attr('id', 'nav');
jQuery('#nav li').addClass('item');
jQuery('#nav a').each(function(){
         jQuery(this).attr('href', '/' + jQuery(this).text());
});
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
      <li class="item"><a href="/home">home</a></li>
      <li class="item"><a href="/about">about</a></li>
</ul>
<script src="jquery.js"></script><script>
$('ul').attr('id', 'nav');
$('#nav li').addClass('item');
$('#nav a').each(function(){
         $(this).attr('href', '/' + $(this).text());
});
</script>
</body></html>
<!DOCTYPE html><html><body>
<ul id="nav">
      <li class="item"><a href="/home">home</a></li>
      <li class="item"><a href="/about">about</a></li>
</ul>
<script src="jquery.js"></script><script>
$('ul').attr('id', 'nav');
$('#nav li').addClass('item').find('a').each(function(){
         $ (this).attr('href', '/' + $ (this).text());
});
</script>
</body></html>
Chaining (Acorrentar)
$("p").addClass("especial")
      .css("color", "red")
      .append(“Olá Mundo!")
      .show("slow");


• A maioria dos métodos são chainable (possuem
  capacidade de se acorrentarem)
   • Isso acontece porque, por padronização, todos os métodos
     devem retornar o próprio elemento.
   • A mesma padronização é aconselhada aos programadores
     ao criarem plug-ins.
Vantagens
•   Utiliza seletores CSS para localizar elementos da estrutura de marcação HTML da página;

•   Possui arquitetura compatível com instalação de plug-ins e extensões em geral;

•   Possuir um repositório com inúmeros plug-ins disponíveis;

•   É indiferente às inconsistências de renderização entre navegadores;

•   Não há necessidade de construção de loops para localização de elementos no documento;

•   Admite programação encadeada, ou seja, cada método retorna um objeto;

•   É extensível, pois admite criação e inserção de novas funcionalidades;

•   Possui uma ótima documentação;

•   Leve, a versão compactada (e com Gzip) tem 90kb de tamanho;

•   Não obstrutivo
Desvantagens
• Aplicações precisam de um servidor para criar e gerenciar sessões;
• Aplicações precisam de outro aplicativo para fornecer os dados,
   escrito em outra linguagem;
• Em computadores robustos, aplicações maiores podem se tornar
   mais lentas;
• É difícil proteger o código-fonte;
• Pode ser difícil depurar, especialmente se houverem conflitos entre
   scripts;
FrozenSpots
• Construtor $ (cifrão, dólar)
   – referência para o objeto jQuery;

   – é responsável por identificar o elemento passado e chamar o
      respectivo método;

   – Qualquer outro “nome” pode ser usado para representar o objeto,
      sendo o $ (cifrão, dólar) o default.

• Todas as funcionalidades do jQuery possuem comportamento
  default.
HotSpots
• Os plugins (componentes) que podem ser acoplados
  junto ao jQuery.

• O Complemento jQuery UI
  – Oferece funcionalidades de interação com o usuário.

• Todos os métodos possuem parâmetros para
  modificar ou configurar sua funcionalidade.
Quem usa jQuery?
    • Atualmente mais de 19 milhões de sites utilizam jQuery;




Fonte: http://trendspro.builtwith.com
OBRIGADO!
    Bruno Cunha
    E-mail:
    contato@brunocunha.net.br

    Portfólio:
    http://brunocunha.net.br

    Twitter
    http://twitter.com/obrunocunha

Más contenido relacionado

La actualidad más candente

Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSDesenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSRomulo Fagundes
 
ODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryMarketing Digital ODIG
 
Aumentando a produtividade com Android Libs
Aumentando a produtividade com Android LibsAumentando a produtividade com Android Libs
Aumentando a produtividade com Android LibsNelson Glauber Leal
 
jQuery básico (parte 2)
jQuery básico (parte 2)jQuery básico (parte 2)
jQuery básico (parte 2)Luís Cobucci
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no FrontendHenrique Gogó
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosHenrique Gogó
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Evandro Klimpel Balmant
 
jQuery - A biblioteca javascript
jQuery - A biblioteca javascriptjQuery - A biblioteca javascript
jQuery - A biblioteca javascriptDiogo Benicá
 
Autenticação com AngularJS e loadOnDemand
Autenticação com AngularJS e loadOnDemandAutenticação com AngularJS e loadOnDemand
Autenticação com AngularJS e loadOnDemandDouglas Lira
 
IBM - Apresentando jQuery
IBM - Apresentando jQueryIBM - Apresentando jQuery
IBM - Apresentando jQueryAlberto Leal
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMCAlisson Agiani
 
Iniciando com jQuery
Iniciando com jQueryIniciando com jQuery
Iniciando com jQueryTiago Butzke
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitFlávio Lisboa
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Emerson Macedo
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScriptThiago Poiani
 

La actualidad más candente (20)

Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JSDesenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
Desenvolvendo com Node.JS - Mongoose + MongoDB + Vue.JS
 
ODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQueryODIG - Javascript, DOM Elements e jQuery
ODIG - Javascript, DOM Elements e jQuery
 
Aumentando a produtividade com Android Libs
Aumentando a produtividade com Android LibsAumentando a produtividade com Android Libs
Aumentando a produtividade com Android Libs
 
jQuery básico (parte 2)
jQuery básico (parte 2)jQuery básico (parte 2)
jQuery básico (parte 2)
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Programação Web com jQuery
Programação Web com jQueryProgramação Web com jQuery
Programação Web com jQuery
 
JavaScript Model-View no Frontend
JavaScript Model-View no FrontendJavaScript Model-View no Frontend
JavaScript Model-View no Frontend
 
Javascript + jQuery
Javascript + jQueryJavascript + jQuery
Javascript + jQuery
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
 
jQuery - A biblioteca javascript
jQuery - A biblioteca javascriptjQuery - A biblioteca javascript
jQuery - A biblioteca javascript
 
Autenticação com AngularJS e loadOnDemand
Autenticação com AngularJS e loadOnDemandAutenticação com AngularJS e loadOnDemand
Autenticação com AngularJS e loadOnDemand
 
IBM - Apresentando jQuery
IBM - Apresentando jQueryIBM - Apresentando jQuery
IBM - Apresentando jQuery
 
Jquery ui
Jquery uiJquery ui
Jquery ui
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMC
 
Iniciando com jQuery
Iniciando com jQueryIniciando com jQuery
Iniciando com jQuery
 
Desenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo ToolkitDesenvolvendo com Dojo Toolkit
Desenvolvendo com Dojo Toolkit
 
Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12Javascript Orientado a Objetos - Fisl12
Javascript Orientado a Objetos - Fisl12
 
DOMinando JavaScript
DOMinando JavaScriptDOMinando JavaScript
DOMinando JavaScript
 
Curso PHP: Básico JavaScript
Curso PHP: Básico JavaScriptCurso PHP: Básico JavaScript
Curso PHP: Básico JavaScript
 

Destacado

Pregel: Um Sistema de Processamento de Grafos em Larga-Escala
Pregel: Um Sistema de Processamento de Grafos em Larga-EscalaPregel: Um Sistema de Processamento de Grafos em Larga-Escala
Pregel: Um Sistema de Processamento de Grafos em Larga-EscalaBruno Cunha
 
Ferramentas de Monitoramento de Mídias Sociais
Ferramentas de Monitoramento de Mídias SociaisFerramentas de Monitoramento de Mídias Sociais
Ferramentas de Monitoramento de Mídias SociaisBruno Cunha
 
Brincadeiras individuais e coletivas
Brincadeiras individuais e coletivasBrincadeiras individuais e coletivas
Brincadeiras individuais e coletivasIlza Ibelli
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 

Destacado (7)

Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Pregel: Um Sistema de Processamento de Grafos em Larga-Escala
Pregel: Um Sistema de Processamento de Grafos em Larga-EscalaPregel: Um Sistema de Processamento de Grafos em Larga-Escala
Pregel: Um Sistema de Processamento de Grafos em Larga-Escala
 
jQuery
jQueryjQuery
jQuery
 
Ferramentas de Monitoramento de Mídias Sociais
Ferramentas de Monitoramento de Mídias SociaisFerramentas de Monitoramento de Mídias Sociais
Ferramentas de Monitoramento de Mídias Sociais
 
Brincadeiras individuais e coletivas
Brincadeiras individuais e coletivasBrincadeiras individuais e coletivas
Brincadeiras individuais e coletivas
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 

Similar a jQuery

LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfGabrielaMota46
 
Palestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDDPalestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDDhugodiasneto
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryReinaldo Junior
 
Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Rodrigo Urubatan
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
TDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoTDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoCezinha Anjos
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.jsGiovanni Bassi
 
Automatização Desenvolvimento Web com Gulp
Automatização Desenvolvimento Web com GulpAutomatização Desenvolvimento Web com Gulp
Automatização Desenvolvimento Web com GulpRicardo Costa
 
Conexão Java 2006: Introdução ao Ajax
Conexão Java 2006: Introdução ao AjaxConexão Java 2006: Introdução ao Ajax
Conexão Java 2006: Introdução ao AjaxHelder da Rocha
 
Trabalho jQuery
Trabalho jQueryTrabalho jQuery
Trabalho jQuerygrupoucpel
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Jquery - Dicas e Truques
Jquery - Dicas e TruquesJquery - Dicas e Truques
Jquery - Dicas e TruquesLambda 3
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seointrofini
 

Similar a jQuery (20)

Java script aula 07 - j-query
Java script   aula 07 - j-queryJava script   aula 07 - j-query
Java script aula 07 - j-query
 
LPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdfLPII_Aula_7-JQuery.pdf
LPII_Aula_7-JQuery.pdf
 
Palestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDDPalestra / Efeitos Espetaculares Em Dhtml / SDD
Palestra / Efeitos Espetaculares Em Dhtml / SDD
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Java script aula 09 - JQuery
Java script   aula 09 - JQueryJava script   aula 09 - JQuery
Java script aula 09 - JQuery
 
Nadando em Dinheiro com jQuery
Nadando em Dinheiro com jQueryNadando em Dinheiro com jQuery
Nadando em Dinheiro com jQuery
 
Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_Desenvolvendo aplicacoes mobile_com_html_css_
Desenvolvendo aplicacoes mobile_com_html_css_
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
TDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direitoTDC 2015 - Rails & Javascript: faça isso direito
TDC 2015 - Rails & Javascript: faça isso direito
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Quick Form DataBase (QFDB)
Quick Form DataBase (QFDB)Quick Form DataBase (QFDB)
Quick Form DataBase (QFDB)
 
Automatização Desenvolvimento Web com Gulp
Automatização Desenvolvimento Web com GulpAutomatização Desenvolvimento Web com Gulp
Automatização Desenvolvimento Web com Gulp
 
Conexão Java 2006: Introdução ao Ajax
Conexão Java 2006: Introdução ao AjaxConexão Java 2006: Introdução ao Ajax
Conexão Java 2006: Introdução ao Ajax
 
JQuery Mobile
JQuery MobileJQuery Mobile
JQuery Mobile
 
Trabalho jQuery
Trabalho jQueryTrabalho jQuery
Trabalho jQuery
 
Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Jquery - Dicas e Truques
Jquery - Dicas e TruquesJquery - Dicas e Truques
Jquery - Dicas e Truques
 
O que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seoO que todos os developers devem saber sobre seo
O que todos os developers devem saber sobre seo
 
Curso AngularJS - Parte 1
Curso AngularJS - Parte 1Curso AngularJS - Parte 1
Curso AngularJS - Parte 1
 

jQuery

  • 2. Definição • Criada por John Resig em 2006; • OpenSource (MIT, GPL) – Massachusetts Institute of Technology – GNU General Public Licence – Uso Pessoal e Comercial; • Framework JavaScript; • Focado na simplicidade de escrita não exigindo conhecimento de programação;
  • 3. Para que serve • Adicionar interatividade e dinamismo às páginas web; • Criar scripts que visem a incrementar: – Usabilidade – Acessibilidade – Design • Enriquecer a experiência do usuário, de forma progressiva e não-obstrutiva; – Javascript não obstrutivo diz respeito a scripts que, ao serem desabilitados, não interferem no funcionamento da página.
  • 4. Do que jQuery é capaz • Adicionar efeitos visuais e animações; • Acessar e manipular o DOM; – Document Object Model • Buscar informações no servidor sem necessidade de recarregar a página; • Prover interatividade; • Alterar conteúdo; • Modificar apresentação e estilização; • Simplificar tarefas específicas de JavaScript;
  • 5. Compatibilidade nos Navegadores • Firefox 2.0+ • Internet Explorer 6+ • Safari 3+ • Opera 10.6+ • Chrome 8+
  • 7. Muda o jeito de escrever JavaScript var tables = document.getElementsByTagName('table'); for (var t = 0; t < tables.length; t++) { var rows = tables[t].getElementsByTagName('tr'); for (var i = 1; i < rows.length; i += 2) { if (!/(^|s)odd(s|$)/.test(rows[i].className)) { rows[i].className += ' odd'; } } }
  • 8. Muda o jeito de escrever JavaScript $('table tr:nth-child(odd)').addClass('odd');
  • 11. Exemplos $("div").hide(); //efeito $("button").remove(); //DOM $("form").submit(); //evento $("p").addClass("especial"); //DOM $("span").show("fast"); //animação
  • 12. <!DOCTYPE html><html><body> <ul> <li><a>home</a></li> <li><a>about</a></li> </ul> </body></html>
  • 13. <!DOCTYPE html><html><body> <ul> <li><a>home</a></li> <li><a>about</a></li> </ul> <script src="jquery.js"></script> </body></html>
  • 14. <!DOCTYPE html><html><body> <ul> <li><a>home</a></li> <li><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul'); </script> </body></html>
  • 15. <!DOCTYPE html><html><body> <ul id="nav"> <li><a>home</a></li> <li><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); </script> </body></html>
  • 16. <!DOCTYPE html><html><body> <ul id="nav"> <li><a>home</a></li> <li><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); jQuery('#nav li'); </script> </body></html>
  • 17. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a>home</a></li> <li class="item"><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); jQuery('#nav li').addClass('item'); </script> </body></html>
  • 18. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a>home</a></li> <li class="item"><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); jQuery('#nav li').addClass('item'); jQuery('#nav a'); </script> </body></html>
  • 19. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a>home</a></li> <li class="item"><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); jQuery('#nav li').addClass('item'); jQuery('#nav a').each(function(){ jQuery(this); }); </script> </body></html>
  • 20. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a>home</a></li> <li class="item"><a>about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); jQuery('#nav li').addClass('item'); jQuery('#nav a').each(function(){ jQuery(this); }); </script> </body></html>
  • 21. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a href="/home">home</a></li> <li class="item"><a href="/about">about</a></li> </ul> <script src="jquery.js"></script><script> jQuery('ul').attr('id', 'nav'); jQuery('#nav li').addClass('item'); jQuery('#nav a').each(function(){ jQuery(this).attr('href', '/' + jQuery(this).text()); }); </script> </body></html>
  • 22. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a href="/home">home</a></li> <li class="item"><a href="/about">about</a></li> </ul> <script src="jquery.js"></script><script> $('ul').attr('id', 'nav'); $('#nav li').addClass('item'); $('#nav a').each(function(){ $(this).attr('href', '/' + $(this).text()); }); </script> </body></html>
  • 23. <!DOCTYPE html><html><body> <ul id="nav"> <li class="item"><a href="/home">home</a></li> <li class="item"><a href="/about">about</a></li> </ul> <script src="jquery.js"></script><script> $('ul').attr('id', 'nav'); $('#nav li').addClass('item').find('a').each(function(){ $ (this).attr('href', '/' + $ (this).text()); }); </script> </body></html>
  • 24. Chaining (Acorrentar) $("p").addClass("especial") .css("color", "red") .append(“Olá Mundo!") .show("slow"); • A maioria dos métodos são chainable (possuem capacidade de se acorrentarem) • Isso acontece porque, por padronização, todos os métodos devem retornar o próprio elemento. • A mesma padronização é aconselhada aos programadores ao criarem plug-ins.
  • 25. Vantagens • Utiliza seletores CSS para localizar elementos da estrutura de marcação HTML da página; • Possui arquitetura compatível com instalação de plug-ins e extensões em geral; • Possuir um repositório com inúmeros plug-ins disponíveis; • É indiferente às inconsistências de renderização entre navegadores; • Não há necessidade de construção de loops para localização de elementos no documento; • Admite programação encadeada, ou seja, cada método retorna um objeto; • É extensível, pois admite criação e inserção de novas funcionalidades; • Possui uma ótima documentação; • Leve, a versão compactada (e com Gzip) tem 90kb de tamanho; • Não obstrutivo
  • 26. Desvantagens • Aplicações precisam de um servidor para criar e gerenciar sessões; • Aplicações precisam de outro aplicativo para fornecer os dados, escrito em outra linguagem; • Em computadores robustos, aplicações maiores podem se tornar mais lentas; • É difícil proteger o código-fonte; • Pode ser difícil depurar, especialmente se houverem conflitos entre scripts;
  • 27. FrozenSpots • Construtor $ (cifrão, dólar) – referência para o objeto jQuery; – é responsável por identificar o elemento passado e chamar o respectivo método; – Qualquer outro “nome” pode ser usado para representar o objeto, sendo o $ (cifrão, dólar) o default. • Todas as funcionalidades do jQuery possuem comportamento default.
  • 28. HotSpots • Os plugins (componentes) que podem ser acoplados junto ao jQuery. • O Complemento jQuery UI – Oferece funcionalidades de interação com o usuário. • Todos os métodos possuem parâmetros para modificar ou configurar sua funcionalidade.
  • 29. Quem usa jQuery? • Atualmente mais de 19 milhões de sites utilizam jQuery; Fonte: http://trendspro.builtwith.com
  • 30. OBRIGADO! Bruno Cunha E-mail: contato@brunocunha.net.br Portfólio: http://brunocunha.net.br Twitter http://twitter.com/obrunocunha