SlideShare a Scribd company logo
1 of 19
Download to read offline
jQuery
Javascript para quem não sabe Javascript
               Nando Vieira
            simplesideias.com.br
A função mágica
 $(‘<seletor>’) = CSS + Javascript
Seletores
• $(‘#id’)
• $(‘.class’)
• $(‘a[rel=external]’)
• $(‘ul > li:nth(5)’)
• $(‘li:first’, parent)
• ... e mais uma cacetada de seletores!
Modificando elementos
$(‘div’).css(‘width’, ‘100px’)
$(‘div’).addClass(‘hidden’)
$(‘div’).removeClass(‘hidden’)
$(‘img’).attr(‘src’, ‘/some/image’)
Modificando elementos
$(‘div’).html(‘some <strong>html</strong>’)
$(‘div’).append(‘more <strong>html</strong>’)
$(‘div’).prepend(‘even <strong>more</strong>’)
$(‘div’).before(‘<p>one line here...</p>’)
$(‘div’).after(‘<p>... one more line!</p>’)
Eventos
• $(document).ready ou $(callback)
• $(‘element’).click(callback)
• $(‘element’).bind(‘click’, callback)
   A maioria dos métodos possui atalho:
  click, mouseover, mouseout, blur, focus...
Callback
• function do_something(){}
• var do_something = function(){}
• ... mas já pensou no tanto de funções que
  você terá que criar?
Callback
Função anônima é a solução!

   $(‘a’).click(function(){
         //your code
   });
Iterando em elementos
  $(‘element’).each(function(index){
        //your code
  });
Iterando em elementos
                        Escopo

   $(‘a[rel=external]’).each(function(index){
         alert(this);
   });

O objeto this sempre será o escopo do seletor,
             neste caso, a tag <a>.
Iterando em elementos
               Escopo


  ATENÇÃO: this é Javascript puro!
   Use $(this) se precisar de qualquer
       funcionalidade do jQuery.
Encadeamento de
   chamadas
 $(‘div’)
       .removeClass(‘hidden’)
       .html(‘some markup’)
       .fadeIn(‘normal’, function(){
         alert(‘done’);
 });
Quero ser web 2.0
     Requisições HTTP (AJAX???)


    Só carregar HTML? Sem problema!
$(‘div#content’).load(‘/some/html/content);
Quero ser web 2.0
           Requisições HTTP - GET

$.get(‘/some/url’, function(content){
      // do some processing
      $(‘div’).html(content);
});
Quero ser web 2.0
           Requisições HTTP - POST

$.post(‘/some/url’, function(content){
      // do some processing
      $(‘div’).html(content);
});
Quero ser web 2.0
          Requisições HTTP - JSON

$.getJSON(‘/some/url’, function(data){
      // do some processing
      alert(data.name);
});
Quero ser web 2.0
          Requisições HTTP
      Métodos e Retorno de Dados

$.ajax({
    ‘url’: ‘/some/url’,
    ‘params’: {arg1: value1, arg2: ‘value2’},
    ‘dataType’: ‘xml | json | html | jscript’,
    ‘success’: function(){},
    ‘type’: ‘[http verbs]’
});
Mais informações

• http://visualjquery.com
• http://docs.jquery.com
• http://simplesideias.com.br/tags/jquery
Dúvidas?

More Related Content

What's hot

Crea un tema compatibile con le ultime novità WordPress
Crea un tema compatibile con le ultime novità WordPressCrea un tema compatibile con le ultime novità WordPress
Crea un tema compatibile con le ultime novità WordPressSkillsAndMore
 
JavascriptMVC
JavascriptMVCJavascriptMVC
JavascriptMVC4lb0
 
Formulario
FormularioFormulario
Formulariotukisele
 
UI実装におけるコーディングあれこれ
UI実装におけるコーディングあれこれUI実装におけるコーディングあれこれ
UI実装におけるコーディングあれこれHiromu Hasegawa
 
Como colokar xat clikado
Como colokar xat clikadoComo colokar xat clikado
Como colokar xat clikadoguile300
 
Simular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariaSimular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariajbersosa
 
jQuery - Write less, do more!
jQuery - Write less, do more!jQuery - Write less, do more!
jQuery - Write less, do more!Johannes Weber
 
Sumahexavector
SumahexavectorSumahexavector
Sumahexavectorjbersosa
 
Managen van Verwachtingen.
Managen van Verwachtingen.Managen van Verwachtingen.
Managen van Verwachtingen.Groenewoud
 
观剧卡免费赠读者
观剧卡免费赠读者观剧卡免费赠读者
观剧卡免费赠读者sugeladi
 
การบันทึกและออกจากโปรแกรมMspowerpoint
การบันทึกและออกจากโปรแกรมMspowerpointการบันทึกและออกจากโปรแกรมMspowerpoint
การบันทึกและออกจากโปรแกรมMspowerpointเทวัญ ภูพานทอง
 
Palestra PythonBrasil[8]
Palestra PythonBrasil[8]Palestra PythonBrasil[8]
Palestra PythonBrasil[8]Thiago Da Silva
 

What's hot (20)

jQuery for beginners
jQuery for beginnersjQuery for beginners
jQuery for beginners
 
Crea un tema compatibile con le ultime novità WordPress
Crea un tema compatibile con le ultime novità WordPressCrea un tema compatibile con le ultime novità WordPress
Crea un tema compatibile con le ultime novità WordPress
 
JavascriptMVC
JavascriptMVCJavascriptMVC
JavascriptMVC
 
Jquery2
Jquery2Jquery2
Jquery2
 
Phpex3
Phpex3Phpex3
Phpex3
 
Local storages
Local storagesLocal storages
Local storages
 
Formulario
FormularioFormulario
Formulario
 
Introducción a Bolt
Introducción a BoltIntroducción a Bolt
Introducción a Bolt
 
New 3
New  3New  3
New 3
 
UI実装におけるコーディングあれこれ
UI実装におけるコーディングあれこれUI実装におけるコーディングあれこれ
UI実装におけるコーディングあれこれ
 
Wek14 mysql 2
Wek14 mysql 2Wek14 mysql 2
Wek14 mysql 2
 
Como colokar xat clikado
Como colokar xat clikadoComo colokar xat clikado
Como colokar xat clikado
 
Simular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariaSimular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentaria
 
jQuery - Write less, do more!
jQuery - Write less, do more!jQuery - Write less, do more!
jQuery - Write less, do more!
 
Clase 10 electiva profesional 3 aws rds php y mysql
Clase 10 electiva profesional 3 aws rds php y mysqlClase 10 electiva profesional 3 aws rds php y mysql
Clase 10 electiva profesional 3 aws rds php y mysql
 
Sumahexavector
SumahexavectorSumahexavector
Sumahexavector
 
Managen van Verwachtingen.
Managen van Verwachtingen.Managen van Verwachtingen.
Managen van Verwachtingen.
 
观剧卡免费赠读者
观剧卡免费赠读者观剧卡免费赠读者
观剧卡免费赠读者
 
การบันทึกและออกจากโปรแกรมMspowerpoint
การบันทึกและออกจากโปรแกรมMspowerpointการบันทึกและออกจากโปรแกรมMspowerpoint
การบันทึกและออกจากโปรแกรมMspowerpoint
 
Palestra PythonBrasil[8]
Palestra PythonBrasil[8]Palestra PythonBrasil[8]
Palestra PythonBrasil[8]
 

More from Nando Vieira

Metaprogramming 101
Metaprogramming 101Metaprogramming 101
Metaprogramming 101Nando Vieira
 
A explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo pretoA explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo pretoNando Vieira
 
Presentta: usando Node.js na prática
Presentta: usando Node.js na práticaPresentta: usando Node.js na prática
Presentta: usando Node.js na práticaNando Vieira
 
Ruby Metaprogramming
Ruby MetaprogrammingRuby Metaprogramming
Ruby MetaprogrammingNando Vieira
 
Testando Rails apps com RSpec
Testando Rails apps com RSpecTestando Rails apps com RSpec
Testando Rails apps com RSpecNando Vieira
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9Nando Vieira
 
Test-driven Development no Rails - Começando com o pé direito
Test-driven Development no Rails - Começando com o pé direitoTest-driven Development no Rails - Começando com o pé direito
Test-driven Development no Rails - Começando com o pé direitoNando Vieira
 

More from Nando Vieira (7)

Metaprogramming 101
Metaprogramming 101Metaprogramming 101
Metaprogramming 101
 
A explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo pretoA explosão do Node.js: JavaScript é o novo preto
A explosão do Node.js: JavaScript é o novo preto
 
Presentta: usando Node.js na prática
Presentta: usando Node.js na práticaPresentta: usando Node.js na prática
Presentta: usando Node.js na prática
 
Ruby Metaprogramming
Ruby MetaprogrammingRuby Metaprogramming
Ruby Metaprogramming
 
Testando Rails apps com RSpec
Testando Rails apps com RSpecTestando Rails apps com RSpec
Testando Rails apps com RSpec
 
O que mudou no Ruby 1.9
O que mudou no Ruby 1.9O que mudou no Ruby 1.9
O que mudou no Ruby 1.9
 
Test-driven Development no Rails - Começando com o pé direito
Test-driven Development no Rails - Começando com o pé direitoTest-driven Development no Rails - Começando com o pé direito
Test-driven Development no Rails - Começando com o pé direito
 

jQuery - Javascript para quem não sabe Javascript