SlideShare une entreprise Scribd logo
1  sur  110
Télécharger pour lire hors ligne
jQuery
jQuery
    por Luis Artola
jQuery
    por Luis Artola
    sicos!
jQuery
    por Luis Artola
    sicos!
    programania.net
jQuery
    por Luis Artola
    sicos!
    programania.net
    precriticas.com
RECURSOS
•   Tutorials
    http://docs.jquery.com/Tutorials

•   Visual jquery
    http://visualjquery.com/

•   Learning jquery
    http://www.learningjquery.com/

•   jQuery Essentials
    http://www.slideshare.net/1Marc/jquery-essentials


•   Javascript Library Overview
    http://www.slideshare.net/jeresig/javascript-library-overview
¿QUÉ PUEDO HACER?
     Bombardeo de código
1/8




<script type="text/javascript" src="jquery.js"></script>
2/8
2/8

•   $(“p”) .appendTo(“#foo”);
    Mueve “algo” a id=foo
2/8

•   $(“p”) .appendTo(“#foo”);
    Mueve “algo” a id=foo

•   $(...).css(“border”, “1px solid black”);
    Ponle a “algo” el borde 1px negro.
2/8

•   $(“p”) .appendTo(“#foo”);
    Mueve “algo” a id=foo

•   $(...).css(“border”, “1px solid black”);
    Ponle a “algo” el borde 1px negro.

•   $(...).val(“3”);
    Ponle el valor a “algo” = 3.!
2/8

•   $(“p”) .appendTo(“#foo”);
    Mueve “algo” a id=foo

•   $(...).css(“border”, “1px solid black”);
    Ponle a “algo” el borde 1px negro.

•   $(...).val(“3”);
    Ponle el valor a “algo” = 3.!

•   $(...).val();
    Dame el valor de “algo”. !
3/8
3/8

•   $(...).attr(“href”, “http://google.com”);
    Que todos los links tengan el atributo href
    como google.com
3/8

•   $(...).attr(“href”, “http://google.com”);
    Que todos los links tengan el atributo href
    como google.com

•   $(...).html(“<p>Iʼm new</p>”);
    Cambia el HTML de “algo” por ....
3/8

•   $(...).attr(“href”, “http://google.com”);
    Que todos los links tengan el atributo href
    como google.com

•   $(...).html(“<p>Iʼm new</p>”);
    Cambia el HTML de “algo” por ....

•   $(...).attr(“checked”,”checked”);
    Pon el atributo checked a checked.
3/8

•   $(...).attr(“href”, “http://google.com”);
    Que todos los links tengan el atributo href
    como google.com

•   $(...).html(“<p>Iʼm new</p>”);
    Cambia el HTML de “algo” por ....

•   $(...).attr(“checked”,”checked”);
    Pon el atributo checked a checked.

•   $(...).click(function(){ something();});
    Cuando “algo” es clickado haz “someting()”.
4/8
4/8


•   Con cada click haz un desplegar / replegar.
    $(...).click(
          function(){
                 $(“div:first”).slideToggle();
           });
4/8


•   Con cada click haz un desplegar / replegar.
    $(...).click(
          function(){
                 $(“div:first”).slideToggle();
           });

•   $(...).animate({ “width”: “300px” }, 500);
    Amplia un elemento a 300px en 5 segundos.
4/8


•   Con cada click haz un desplegar / replegar.
    $(...).click(
          function(){
                 $(“div:first”).slideToggle();
           });

•   $(...).animate({ “width”: “300px” }, 500);
    Amplia un elemento a 300px en 5 segundos.

•   $(...).fadeTo(0.3);
    Reduce la opacidad de “algo” al 30%.
5/8
5/8



•   $(...).get(“tag.php”, { “bar”: “baz” });
    Envía datos por get a tag.php.
5/8



•   $(...).get(“tag.php”, { “bar”: “baz” });
    Envía datos por get a tag.php.

•   $.post(“send.php”, { foo: ”bar” },
            function(response){
                      alert(response);
            });
    Envía datos por post a send.php y luego
    avisa.
6/8
LOAD
6/8
                         LOAD
•   $(...).load(ʻ/direccion/url/ʼ)
    Cargar una url en un id.
6/8
                         LOAD
•   $(...).load(ʻ/direccion/url/ʼ)
    Cargar una url en un id.

•   $(...).load(ʻ/direccion/url/ #containerʼ)
    Cargar una url en un id, pero solo el id container.
6/8
                         LOAD
•   $(...).load(ʻ/direccion/url/ʼ)
    Cargar una url en un id.

•   $(...).load(ʻ/direccion/url/ #containerʼ)
    Cargar una url en un id, pero solo el id container.

•   $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serialize())
    Cargar una url en un id, pasándo parámetros por GET.
6/8
                         LOAD
•   $(...).load(ʻ/direccion/url/ʼ)
    Cargar una url en un id.

•   $(...).load(ʻ/direccion/url/ #containerʼ)
    Cargar una url en un id, pero solo el id container.

•   $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serialize())
    Cargar una url en un id, pasándo parámetros por GET.

•   $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serializeArray())
    Cargar una url en un id, pasando parámetros por POST
6/8
                         LOAD
•   $(...).load(ʻ/direccion/url/ʼ)
    Cargar una url en un id.

•   $(...).load(ʻ/direccion/url/ #containerʼ)
    Cargar una url en un id, pero solo el id container.

•   $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serialize())
    Cargar una url en un id, pasándo parámetros por GET.

•   $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serializeArray())
    Cargar una url en un id, pasando parámetros por POST



•   También .post(), .get(), .getJSON(), .ajax() que
    permiten, entre otras cosas, callbacks.
7/8
7/8


•   $.fn.myPlugin = function(){ return this.each
    (function(){
         $(this).html(“you used myPlugin!”); });
    });


    $(...).myPlugin();
7/8


•   $.fn.myPlugin = function(){ return this.each
    (function(){
         $(this).html(“you used myPlugin!”); });
    });


    $(...).myPlugin();
7/8


•   $.fn.myPlugin = function(){ return this.each
    (function(){
         $(this).html(“you used myPlugin!”); });
    });


    $(...).myPlugin();
8/8
jQuery("<div/>", {
           id: "foo",
           css: {
                  height: "50px",
                  width: "50px",
                  color: "blue",
                  backgroundColor: "#ccc"
                },
           click: function() {
               $(this).css("backgroundColor", "red");
            }
           }).appendTo("body");
Selectores
El gran superpoder de jQuery
1/8
1/8



•   $('div')
    Selecciona todas las capas.
1/8



•   $('div')
    Selecciona todas las capas.

•   $('#myid')
    Selecciona el id myid.
1/8



•   $('div')
    Selecciona todas las capas.

•   $('#myid')
    Selecciona el id myid.

•   $('div#myid')
    Selecciona el div con id myid.
2/8
2/8


•   $('.myclass')
    Selecciona todos los elementos de la clase
    myclass.
2/8


•   $('.myclass')
    Selecciona todos los elementos de la clase
    myclass.

•   $('.myclass .otherclass')
    Selecciona todos los elementos de la clase
    myclass y de otherclass.
2/8


•   $('.myclass')
    Selecciona todos los elementos de la clase
    myclass.

•   $('.myclass .otherclass')
    Selecciona todos los elementos de la clase
    myclass y de otherclass.

•   $('#container p')
    Selecciona todos los párrafos hijos del id
    container.
3/8
3/8
$(':empty')
Selecciona todos los elementos sin hijos.
3/8
$(':empty')
Selecciona todos los elementos sin hijos.
3/8
 $(':empty')
 Selecciona todos los elementos sin hijos.

• $('*')
  Selecciona todos los elementos.
3/8
 $(':empty')
 Selecciona todos los elementos sin hijos.

• $('*')
  Selecciona todos los elementos.
3/8
 $(':empty')
 Selecciona todos los elementos sin hijos.

• $('*')
  Selecciona todos los elementos.

• $('[rel]')
  Selecciona todos los elementos con un atributo
  rel.
3/8
 $(':empty')
 Selecciona todos los elementos sin hijos.

• $('*')
  Selecciona todos los elementos.

• $('[rel]')
  Selecciona todos los elementos con un atributo
  rel.
3/8
 $(':empty')
 Selecciona todos los elementos sin hijos.

• $('*')
  Selecciona todos los elementos.

• $('[rel]')
  Selecciona todos los elementos con un atributo
  rel.

• $('[name=myname]')
  Selecciona todos los elementos con un atributo
  name que valga myname.
4/8
4/8
4/8


• $('.myclass > code')
  Selecciona todos los <code> hijos de los
  elementos de la clase myclass.
4/8


• $('.myclass > code')
  Selecciona todos los <code> hijos de los
  elementos de la clase myclass.
4/8


• $('.myclass > code')
  Selecciona todos los <code> hijos de los
  elementos de la clase myclass.

• $('#myid + .myclass')
  Selecciona a todos los elementos de la clase
  myclass que son hermanos de myid.
4/8


• $('.myclass > code')
  Selecciona todos los <code> hijos de los
  elementos de la clase myclass.

• $('#myid + .myclass')
  Selecciona a todos los elementos de la clase
  myclass que son hermanos de myid.
4/8


• $('.myclass > code')
  Selecciona todos los <code> hijos de los
  elementos de la clase myclass.

• $('#myid + .myclass')
  Selecciona a todos los elementos de la clase
  myclass que son hermanos de myid.

• $('#myid ~ .myclass')
  Selecciona a todos los myclass que siguen a un
  hermano myid.
5/8
5/8
$('p:nth-child(odd)')
Selecciona los <p> hijos impares de su padre.
5/8
$('p:nth-child(odd)')
Selecciona los <p> hijos impares de su padre.
5/8
 $('p:nth-child(odd)')
 Selecciona los <p> hijos impares de su padre.

• $('li:first-child')
  Selecciona los <li> que son el primer hijo de su
  padre.
5/8
 $('p:nth-child(odd)')
 Selecciona los <p> hijos impares de su padre.

• $('li:first-child')
  Selecciona los <li> que son el primer hijo de su
  padre.
5/8
 $('p:nth-child(odd)')
 Selecciona los <p> hijos impares de su padre.

• $('li:first-child')
  Selecciona los <li> que son el primer hijo de su
  padre.

• $(':only-child')
  Selecciona los hijos únicos.
5/8
 $('p:nth-child(odd)')
 Selecciona los <p> hijos impares de su padre.

• $('li:first-child')
  Selecciona los <li> que son el primer hijo de su
  padre.

• $(':only-child')
  Selecciona los hijos únicos.
5/8
 $('p:nth-child(odd)')
 Selecciona los <p> hijos impares de su padre.

• $('li:first-child')
  Selecciona los <li> que son el primer hijo de su
  padre.

• $(':only-child')
  Selecciona los hijos únicos.

• $(':not(.myclass)')
  Selecciona los elementos que no son de la clase
  myclass.
6/8
6/8

$('a[rel!=nofollow]')
anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o
que no tienen atributo rel ).
6/8

 $('a[rel!=nofollow]')
 anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o
 que no tienen atributo rel ).

• $('[id^=hello]')
  selecciona los elementos cuyo id empieza por hello.
6/8

 $('a[rel!=nofollow]')
 anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o
 que no tienen atributo rel ).

• $('[id^=hello]')
  selecciona los elementos cuyo id empieza por hello.
6/8

 $('a[rel!=nofollow]')
 anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o
 que no tienen atributo rel ).

• $('[id^=hello]')
  selecciona los elementos cuyo id empieza por hello.

• $('[id$=goodbye]')
  ... cuyo id termina por goodbye.
6/8

 $('a[rel!=nofollow]')
 anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o
 que no tienen atributo rel ).

• $('[id^=hello]')
  selecciona los elementos cuyo id empieza por hello.

• $('[id$=goodbye]')
  ... cuyo id termina por goodbye.
6/8

 $('a[rel!=nofollow]')
 anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o
 que no tienen atributo rel ).

• $('[id^=hello]')
  selecciona los elementos cuyo id empieza por hello.

• $('[id$=goodbye]')
  ... cuyo id termina por goodbye.

• $('[style*=background]')
  selecciona los elementos que tiene un style con
  background definido.
7/8
7/8


$('[class~=myclass]')
Selecciona los elementos que tiene la clase
myclass, por lo menos.
7/8


$('[class~=myclass]')
Selecciona los elementos que tiene la clase
myclass, por lo menos.
7/8


 $('[class~=myclass]')
 Selecciona los elementos que tiene la clase
 myclass, por lo menos.

• $('[id|=hello]')
  Selecciona aquellos que tienen un id hello o que
  empieza por hello.
7/8


 $('[class~=myclass]')
 Selecciona los elementos que tiene la clase
 myclass, por lo menos.

• $('[id|=hello]')
  Selecciona aquellos que tienen un id hello o que
  empieza por hello.
7/8


 $('[class~=myclass]')
 Selecciona los elementos que tiene la clase
 myclass, por lo menos.

• $('[id|=hello]')
  Selecciona aquellos que tienen un id hello o que
  empieza por hello.

• $('li:gt(2)')
  Selecciona aquellos <li> después del tercero.
8/8
8/8



•   $('li:contains(second)')
    Selecciona los <li> que contienen la palabra
    “second”
8/8



•   $('li:contains(second)')
    Selecciona los <li> que contienen la palabra
    “second”

•   $('.myclass:has(#myid)')
    Selecciona los myclass que tienen un hijo
    myid
8/8



•   $('li:contains(second)')
    Selecciona los <li> que contienen la palabra
    “second”

•   $('.myclass:has(#myid)')
    Selecciona los myclass que tienen un hijo
    myid

•   $('.myclass:visible')
    Selecciona todos los myclass visibles.
¡(casi)Nunca haces un loop o un foreach!
TEORÍA
Se acabó el bombardeo de código.
•   Filosofía jQuery:
    Simplificar la relación entre HTML y
    JavaScript.
•   Filosofía jQuery:
    Simplificar la relación entre HTML y
    JavaScript.

•   #1. Encontrar “algo” de HTML
    #2. Hacer algo con él.
•   Herramienta poderosa a la hora de encontrar
    una serie de elementos en un documento.
    Desde CSS 1 hasta 3 y los suyos propios.
•   Herramienta poderosa a la hora de encontrar
    una serie de elementos en un documento.
    Desde CSS 1 hasta 3 y los suyos propios.

•   API sólida y usable que te esconde los
    probemas de compatibilidad entre
    navegadores.
•   Manipulation:
    before(), after(), appendTo(), append(), ...
•   Manipulation:
    before(), after(), appendTo(), append(), ...

•   Attributes:
    css(), attr(), html(), val(), addClass(), text(), ...
•   Manipulation:
    before(), after(), appendTo(), append(), ...

•   Attributes:
    css(), attr(), html(), val(), addClass(), text(), ...

•   Events:
    bind(), trigger(), unbind(), live(), click(), submit(), ...
•   Effects:
    show(), fadeOut(), toggle(), animate(), ...
•   Effects:
    show(), fadeOut(), toggle(), animate(), ...

•   Traversing
    find(), prevAll(), next(), hasClass(), children(), siblings(), ...
•   Effects:
    show(), fadeOut(), toggle(), animate(), ...

•   Traversing
    find(), prevAll(), next(), hasClass(), children(), siblings(), ...

•   Ajax
    get(), getJSON(), post(), ajax(), load()
•   Las acciones pueden ser encadenadas:


    $(...).addClass(ʻfooʼ).fadeIn().html(“foo”);

    $("li").not(":has(ul)").css("border", "1px solid
    black");

    $(':input').parents(':not(:first)').show()
•   jQuery tiene una enorme comunidad.

•   test coverage! plugins! books support
    tutorials

•   open (free) license! speed

•   Código ligero.
•   Projectos que lo usan:
    Wordpress, Drupal, Textpattern
•   Projectos que lo usan:
    Wordpress, Drupal, Textpattern

•   Compañías que lo usan:
    Google, Amazon, Digg, Netflix, Dell, HP, Bank
    of America, Intel... NBC, CBS, BBC, Reuters,
    Newsweek...
JQUERY UI
•   Interactions

    •   Draggable    •   Widgets

    •   Droppable        •   Accordion

    •   Sortable         •   Datepicker

    •   Selectable       •   Dialog

    •   Resizable        •   Progressbar

•   Effects              •   Slider

•   Theming y CSS        •   Tabs
    framework
¿CUÁL ES MEJOR?

• jQuery tiene selectores más potentes
• Dojo tiene un framework UI más potente.
• Prototype y MooTools, son mucho más
  extensibles (OO) y modulares.

Contenu connexe

Tendances (19)

Clase 12 jQuery basico
Clase 12  jQuery basicoClase 12  jQuery basico
Clase 12 jQuery basico
 
En 20 minutos ... jQuery
En 20 minutos ... jQueryEn 20 minutos ... jQuery
En 20 minutos ... jQuery
 
J query
J queryJ query
J query
 
Jquery
JqueryJquery
Jquery
 
Introduccion a j_query
Introduccion a j_queryIntroduccion a j_query
Introduccion a j_query
 
jQuery
jQueryjQuery
jQuery
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery
 
Clase 14 doctrine - subir archivos
Clase 14   doctrine - subir archivosClase 14   doctrine - subir archivos
Clase 14 doctrine - subir archivos
 
Doctrine2 sf2Vigo
Doctrine2 sf2VigoDoctrine2 sf2Vigo
Doctrine2 sf2Vigo
 
Introduccion a DOM y AJAX - Javier Oliver Fulguera
Introduccion a DOM y AJAX  -  Javier Oliver FulgueraIntroduccion a DOM y AJAX  -  Javier Oliver Fulguera
Introduccion a DOM y AJAX - Javier Oliver Fulguera
 
Tutorial de jquery
Tutorial de jqueryTutorial de jquery
Tutorial de jquery
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Lenguaje JavaScript parte 2
Lenguaje JavaScript parte 2Lenguaje JavaScript parte 2
Lenguaje JavaScript parte 2
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Unidad 3 AJAX
Unidad 3 AJAX Unidad 3 AJAX
Unidad 3 AJAX
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Entidades en drupal 8
Entidades en drupal 8Entidades en drupal 8
Entidades en drupal 8
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Php2
Php2 Php2
Php2
 

En vedette

jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009Irontec
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibalesbriant pati
 
BAU International Executive MBA Webinar
BAU International Executive MBA WebinarBAU International Executive MBA Webinar
BAU International Executive MBA Webinarbauinternational
 
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevWerner Keil
 
Ice Presentacio
Ice PresentacioIce Presentacio
Ice Presentacioaaupcfira
 
Elaboració del whisky de malta
Elaboració del whisky de maltaElaboració del whisky de malta
Elaboració del whisky de maltaJoan Mitjavila
 
Correo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoCorreo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoElena Moreno
 
iPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im VertriebiPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im Vertriebexcelsis
 
Biologie de synthèse
Biologie de synthèseBiologie de synthèse
Biologie de synthèseGreenFacts
 
Presentacion diseño web con jquery
Presentacion diseño web con jqueryPresentacion diseño web con jquery
Presentacion diseño web con jqueryMejorandola
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jqueryAngelDX
 
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"sosracismo
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8Ymbra
 

En vedette (20)

jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009jQuery 1.3 UI eghost Julio2009
jQuery 1.3 UI eghost Julio2009
 
Todo Javascript para canibales
Todo Javascript para canibalesTodo Javascript para canibales
Todo Javascript para canibales
 
BAU International Executive MBA Webinar
BAU International Executive MBA WebinarBAU International Executive MBA Webinar
BAU International Executive MBA Webinar
 
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDevTriple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
Triple E class DevOps with Hudson, Maven, Kokki/Multiconf and PyDev
 
Le client au centre
Le client au centreLe client au centre
Le client au centre
 
Social Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes socialesSocial Media Marketing: mucho más que redes sociales
Social Media Marketing: mucho más que redes sociales
 
Ice Presentacio
Ice PresentacioIce Presentacio
Ice Presentacio
 
Elaboració del whisky de malta
Elaboració del whisky de maltaElaboració del whisky de malta
Elaboració del whisky de malta
 
Manual divulgativo life_urogallo
Manual divulgativo life_urogalloManual divulgativo life_urogallo
Manual divulgativo life_urogallo
 
Correo institucional_Escuela de Verano
Correo institucional_Escuela de VeranoCorreo institucional_Escuela de Verano
Correo institucional_Escuela de Verano
 
iPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im VertriebiPad sales app - Professionelles Präsentieren im Vertrieb
iPad sales app - Professionelles Präsentieren im Vertrieb
 
Biologie de synthèse
Biologie de synthèseBiologie de synthèse
Biologie de synthèse
 
Qui acd alyr
Qui acd alyrQui acd alyr
Qui acd alyr
 
Presentacion diseño web con jquery
Presentacion diseño web con jqueryPresentacion diseño web con jquery
Presentacion diseño web con jquery
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
Bahamonde pereira
Bahamonde   pereiraBahamonde   pereira
Bahamonde pereira
 
Laravel 4.2 pdf
Laravel 4.2 pdfLaravel 4.2 pdf
Laravel 4.2 pdf
 
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
Obras presentadas al Concurso "Arte por la Igualdad y contra el Racismo 2011"
 
AJAX
AJAXAJAX
AJAX
 
El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8El universo JavaScript en Drupal 8
El universo JavaScript en Drupal 8
 

Similaire à Jquery

Desarrollando aplicaciones web usando Catalyst y jQuery
Desarrollando aplicaciones web usando Catalyst y jQueryDesarrollando aplicaciones web usando Catalyst y jQuery
Desarrollando aplicaciones web usando Catalyst y jQueryJavier P.
 
Desarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryDesarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryJavier P.
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Asier Marqués
 
Desarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryDesarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryJavier P.
 
Desarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyDesarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyAsier Marqués
 
Asegúr@IT II - Seguridad en Web
Asegúr@IT II - Seguridad en WebAsegúr@IT II - Seguridad en Web
Asegúr@IT II - Seguridad en WebChema Alonso
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryDavid Arango
 
Silex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHPSilex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHPJavier Eguiluz
 
HTML 5 & WebGL (Spanish Version)
HTML 5 & WebGL (Spanish Version)HTML 5 & WebGL (Spanish Version)
HTML 5 & WebGL (Spanish Version)Iran Reyes Fleitas
 
Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8Javier Eguiluz
 
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Javier Eguiluz
 

Similaire à Jquery (20)

Desarrollando aplicaciones web usando Catalyst y jQuery
Desarrollando aplicaciones web usando Catalyst y jQueryDesarrollando aplicaciones web usando Catalyst y jQuery
Desarrollando aplicaciones web usando Catalyst y jQuery
 
Desarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryDesarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQuery
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.
 
Desarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQueryDesarrollo de aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQuery
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
Desarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyDesarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando Symfony
 
Php Basico
Php BasicoPhp Basico
Php Basico
 
Asegúr@IT II - Seguridad en Web
Asegúr@IT II - Seguridad en WebAsegúr@IT II - Seguridad en Web
Asegúr@IT II - Seguridad en Web
 
07 tiles
07 tiles07 tiles
07 tiles
 
Julissa huaman hilari
Julissa huaman hilariJulissa huaman hilari
Julissa huaman hilari
 
Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Silex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHPSilex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHP
 
HTML 5 & WebGL (Spanish Version)
HTML 5 & WebGL (Spanish Version)HTML 5 & WebGL (Spanish Version)
HTML 5 & WebGL (Spanish Version)
 
Assetic PHPmvd
Assetic PHPmvdAssetic PHPmvd
Assetic PHPmvd
 
DBIx::Class
DBIx::ClassDBIx::Class
DBIx::Class
 
Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8Twig, el nuevo motor de plantillas de Drupal 8
Twig, el nuevo motor de plantillas de Drupal 8
 
Web Scrapping & WordPress
Web Scrapping & WordPressWeb Scrapping & WordPress
Web Scrapping & WordPress
 
Unidad3ajax
Unidad3ajaxUnidad3ajax
Unidad3ajax
 
Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)Twig avanzado (sf2Vigo)
Twig avanzado (sf2Vigo)
 

Dernier

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Dernier (11)

PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Jquery

  • 2. jQuery por Luis Artola
  • 3. jQuery por Luis Artola sicos!
  • 4. jQuery por Luis Artola sicos! programania.net
  • 5. jQuery por Luis Artola sicos! programania.net precriticas.com
  • 6. RECURSOS • Tutorials http://docs.jquery.com/Tutorials • Visual jquery http://visualjquery.com/ • Learning jquery http://www.learningjquery.com/ • jQuery Essentials http://www.slideshare.net/1Marc/jquery-essentials • Javascript Library Overview http://www.slideshare.net/jeresig/javascript-library-overview
  • 7. ¿QUÉ PUEDO HACER? Bombardeo de código
  • 9. 2/8
  • 10. 2/8 • $(“p”) .appendTo(“#foo”); Mueve “algo” a id=foo
  • 11. 2/8 • $(“p”) .appendTo(“#foo”); Mueve “algo” a id=foo • $(...).css(“border”, “1px solid black”); Ponle a “algo” el borde 1px negro.
  • 12. 2/8 • $(“p”) .appendTo(“#foo”); Mueve “algo” a id=foo • $(...).css(“border”, “1px solid black”); Ponle a “algo” el borde 1px negro. • $(...).val(“3”); Ponle el valor a “algo” = 3.!
  • 13. 2/8 • $(“p”) .appendTo(“#foo”); Mueve “algo” a id=foo • $(...).css(“border”, “1px solid black”); Ponle a “algo” el borde 1px negro. • $(...).val(“3”); Ponle el valor a “algo” = 3.! • $(...).val(); Dame el valor de “algo”. !
  • 14. 3/8
  • 15. 3/8 • $(...).attr(“href”, “http://google.com”); Que todos los links tengan el atributo href como google.com
  • 16. 3/8 • $(...).attr(“href”, “http://google.com”); Que todos los links tengan el atributo href como google.com • $(...).html(“<p>Iʼm new</p>”); Cambia el HTML de “algo” por ....
  • 17. 3/8 • $(...).attr(“href”, “http://google.com”); Que todos los links tengan el atributo href como google.com • $(...).html(“<p>Iʼm new</p>”); Cambia el HTML de “algo” por .... • $(...).attr(“checked”,”checked”); Pon el atributo checked a checked.
  • 18. 3/8 • $(...).attr(“href”, “http://google.com”); Que todos los links tengan el atributo href como google.com • $(...).html(“<p>Iʼm new</p>”); Cambia el HTML de “algo” por .... • $(...).attr(“checked”,”checked”); Pon el atributo checked a checked. • $(...).click(function(){ something();}); Cuando “algo” es clickado haz “someting()”.
  • 19. 4/8
  • 20. 4/8 • Con cada click haz un desplegar / replegar. $(...).click( function(){ $(“div:first”).slideToggle(); });
  • 21. 4/8 • Con cada click haz un desplegar / replegar. $(...).click( function(){ $(“div:first”).slideToggle(); }); • $(...).animate({ “width”: “300px” }, 500); Amplia un elemento a 300px en 5 segundos.
  • 22. 4/8 • Con cada click haz un desplegar / replegar. $(...).click( function(){ $(“div:first”).slideToggle(); }); • $(...).animate({ “width”: “300px” }, 500); Amplia un elemento a 300px en 5 segundos. • $(...).fadeTo(0.3); Reduce la opacidad de “algo” al 30%.
  • 23. 5/8
  • 24. 5/8 • $(...).get(“tag.php”, { “bar”: “baz” }); Envía datos por get a tag.php.
  • 25. 5/8 • $(...).get(“tag.php”, { “bar”: “baz” }); Envía datos por get a tag.php. • $.post(“send.php”, { foo: ”bar” }, function(response){ alert(response); }); Envía datos por post a send.php y luego avisa.
  • 27. 6/8 LOAD • $(...).load(ʻ/direccion/url/ʼ) Cargar una url en un id.
  • 28. 6/8 LOAD • $(...).load(ʻ/direccion/url/ʼ) Cargar una url en un id. • $(...).load(ʻ/direccion/url/ #containerʼ) Cargar una url en un id, pero solo el id container.
  • 29. 6/8 LOAD • $(...).load(ʻ/direccion/url/ʼ) Cargar una url en un id. • $(...).load(ʻ/direccion/url/ #containerʼ) Cargar una url en un id, pero solo el id container. • $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serialize()) Cargar una url en un id, pasándo parámetros por GET.
  • 30. 6/8 LOAD • $(...).load(ʻ/direccion/url/ʼ) Cargar una url en un id. • $(...).load(ʻ/direccion/url/ #containerʼ) Cargar una url en un id, pero solo el id container. • $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serialize()) Cargar una url en un id, pasándo parámetros por GET. • $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serializeArray()) Cargar una url en un id, pasando parámetros por POST
  • 31. 6/8 LOAD • $(...).load(ʻ/direccion/url/ʼ) Cargar una url en un id. • $(...).load(ʻ/direccion/url/ #containerʼ) Cargar una url en un id, pero solo el id container. • $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serialize()) Cargar una url en un id, pasándo parámetros por GET. • $(...).load(ʻ/direccion/url/ʼ, $(ʻ#formʼ).serializeArray()) Cargar una url en un id, pasando parámetros por POST • También .post(), .get(), .getJSON(), .ajax() que permiten, entre otras cosas, callbacks.
  • 32. 7/8
  • 33. 7/8 • $.fn.myPlugin = function(){ return this.each (function(){ $(this).html(“you used myPlugin!”); }); }); $(...).myPlugin();
  • 34. 7/8 • $.fn.myPlugin = function(){ return this.each (function(){ $(this).html(“you used myPlugin!”); }); }); $(...).myPlugin();
  • 35. 7/8 • $.fn.myPlugin = function(){ return this.each (function(){ $(this).html(“you used myPlugin!”); }); }); $(...).myPlugin();
  • 36. 8/8 jQuery("<div/>", { id: "foo", css: { height: "50px", width: "50px", color: "blue", backgroundColor: "#ccc" }, click: function() { $(this).css("backgroundColor", "red"); } }).appendTo("body");
  • 38. 1/8
  • 39. 1/8 • $('div') Selecciona todas las capas.
  • 40. 1/8 • $('div') Selecciona todas las capas. • $('#myid') Selecciona el id myid.
  • 41. 1/8 • $('div') Selecciona todas las capas. • $('#myid') Selecciona el id myid. • $('div#myid') Selecciona el div con id myid.
  • 42. 2/8
  • 43. 2/8 • $('.myclass') Selecciona todos los elementos de la clase myclass.
  • 44. 2/8 • $('.myclass') Selecciona todos los elementos de la clase myclass. • $('.myclass .otherclass') Selecciona todos los elementos de la clase myclass y de otherclass.
  • 45. 2/8 • $('.myclass') Selecciona todos los elementos de la clase myclass. • $('.myclass .otherclass') Selecciona todos los elementos de la clase myclass y de otherclass. • $('#container p') Selecciona todos los párrafos hijos del id container.
  • 46. 3/8
  • 47. 3/8 $(':empty') Selecciona todos los elementos sin hijos.
  • 48. 3/8 $(':empty') Selecciona todos los elementos sin hijos.
  • 49. 3/8 $(':empty') Selecciona todos los elementos sin hijos. • $('*') Selecciona todos los elementos.
  • 50. 3/8 $(':empty') Selecciona todos los elementos sin hijos. • $('*') Selecciona todos los elementos.
  • 51. 3/8 $(':empty') Selecciona todos los elementos sin hijos. • $('*') Selecciona todos los elementos. • $('[rel]') Selecciona todos los elementos con un atributo rel.
  • 52. 3/8 $(':empty') Selecciona todos los elementos sin hijos. • $('*') Selecciona todos los elementos. • $('[rel]') Selecciona todos los elementos con un atributo rel.
  • 53. 3/8 $(':empty') Selecciona todos los elementos sin hijos. • $('*') Selecciona todos los elementos. • $('[rel]') Selecciona todos los elementos con un atributo rel. • $('[name=myname]') Selecciona todos los elementos con un atributo name que valga myname.
  • 54. 4/8
  • 55. 4/8
  • 56. 4/8 • $('.myclass > code') Selecciona todos los <code> hijos de los elementos de la clase myclass.
  • 57. 4/8 • $('.myclass > code') Selecciona todos los <code> hijos de los elementos de la clase myclass.
  • 58. 4/8 • $('.myclass > code') Selecciona todos los <code> hijos de los elementos de la clase myclass. • $('#myid + .myclass') Selecciona a todos los elementos de la clase myclass que son hermanos de myid.
  • 59. 4/8 • $('.myclass > code') Selecciona todos los <code> hijos de los elementos de la clase myclass. • $('#myid + .myclass') Selecciona a todos los elementos de la clase myclass que son hermanos de myid.
  • 60. 4/8 • $('.myclass > code') Selecciona todos los <code> hijos de los elementos de la clase myclass. • $('#myid + .myclass') Selecciona a todos los elementos de la clase myclass que son hermanos de myid. • $('#myid ~ .myclass') Selecciona a todos los myclass que siguen a un hermano myid.
  • 61. 5/8
  • 62. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre.
  • 63. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre.
  • 64. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre. • $('li:first-child') Selecciona los <li> que son el primer hijo de su padre.
  • 65. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre. • $('li:first-child') Selecciona los <li> que son el primer hijo de su padre.
  • 66. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre. • $('li:first-child') Selecciona los <li> que son el primer hijo de su padre. • $(':only-child') Selecciona los hijos únicos.
  • 67. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre. • $('li:first-child') Selecciona los <li> que son el primer hijo de su padre. • $(':only-child') Selecciona los hijos únicos.
  • 68. 5/8 $('p:nth-child(odd)') Selecciona los <p> hijos impares de su padre. • $('li:first-child') Selecciona los <li> que son el primer hijo de su padre. • $(':only-child') Selecciona los hijos únicos. • $(':not(.myclass)') Selecciona los elementos que no son de la clase myclass.
  • 69. 6/8
  • 70. 6/8 $('a[rel!=nofollow]') anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o que no tienen atributo rel ).
  • 71. 6/8 $('a[rel!=nofollow]') anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o que no tienen atributo rel ). • $('[id^=hello]') selecciona los elementos cuyo id empieza por hello.
  • 72. 6/8 $('a[rel!=nofollow]') anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o que no tienen atributo rel ). • $('[id^=hello]') selecciona los elementos cuyo id empieza por hello.
  • 73. 6/8 $('a[rel!=nofollow]') anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o que no tienen atributo rel ). • $('[id^=hello]') selecciona los elementos cuyo id empieza por hello. • $('[id$=goodbye]') ... cuyo id termina por goodbye.
  • 74. 6/8 $('a[rel!=nofollow]') anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o que no tienen atributo rel ). • $('[id^=hello]') selecciona los elementos cuyo id empieza por hello. • $('[id$=goodbye]') ... cuyo id termina por goodbye.
  • 75. 6/8 $('a[rel!=nofollow]') anchors que no tiene un atributo ʻrelʼ = ʻnofollowʼ ( o que no tienen atributo rel ). • $('[id^=hello]') selecciona los elementos cuyo id empieza por hello. • $('[id$=goodbye]') ... cuyo id termina por goodbye. • $('[style*=background]') selecciona los elementos que tiene un style con background definido.
  • 76. 7/8
  • 77. 7/8 $('[class~=myclass]') Selecciona los elementos que tiene la clase myclass, por lo menos.
  • 78. 7/8 $('[class~=myclass]') Selecciona los elementos que tiene la clase myclass, por lo menos.
  • 79. 7/8 $('[class~=myclass]') Selecciona los elementos que tiene la clase myclass, por lo menos. • $('[id|=hello]') Selecciona aquellos que tienen un id hello o que empieza por hello.
  • 80. 7/8 $('[class~=myclass]') Selecciona los elementos que tiene la clase myclass, por lo menos. • $('[id|=hello]') Selecciona aquellos que tienen un id hello o que empieza por hello.
  • 81. 7/8 $('[class~=myclass]') Selecciona los elementos que tiene la clase myclass, por lo menos. • $('[id|=hello]') Selecciona aquellos que tienen un id hello o que empieza por hello. • $('li:gt(2)') Selecciona aquellos <li> después del tercero.
  • 82. 8/8
  • 83. 8/8 • $('li:contains(second)') Selecciona los <li> que contienen la palabra “second”
  • 84. 8/8 • $('li:contains(second)') Selecciona los <li> que contienen la palabra “second” • $('.myclass:has(#myid)') Selecciona los myclass que tienen un hijo myid
  • 85. 8/8 • $('li:contains(second)') Selecciona los <li> que contienen la palabra “second” • $('.myclass:has(#myid)') Selecciona los myclass que tienen un hijo myid • $('.myclass:visible') Selecciona todos los myclass visibles.
  • 86. ¡(casi)Nunca haces un loop o un foreach!
  • 87. TEORÍA Se acabó el bombardeo de código.
  • 88.
  • 89. Filosofía jQuery: Simplificar la relación entre HTML y JavaScript.
  • 90. Filosofía jQuery: Simplificar la relación entre HTML y JavaScript. • #1. Encontrar “algo” de HTML #2. Hacer algo con él.
  • 91.
  • 92. Herramienta poderosa a la hora de encontrar una serie de elementos en un documento. Desde CSS 1 hasta 3 y los suyos propios.
  • 93. Herramienta poderosa a la hora de encontrar una serie de elementos en un documento. Desde CSS 1 hasta 3 y los suyos propios. • API sólida y usable que te esconde los probemas de compatibilidad entre navegadores.
  • 94.
  • 95. Manipulation: before(), after(), appendTo(), append(), ...
  • 96. Manipulation: before(), after(), appendTo(), append(), ... • Attributes: css(), attr(), html(), val(), addClass(), text(), ...
  • 97. Manipulation: before(), after(), appendTo(), append(), ... • Attributes: css(), attr(), html(), val(), addClass(), text(), ... • Events: bind(), trigger(), unbind(), live(), click(), submit(), ...
  • 98.
  • 99. Effects: show(), fadeOut(), toggle(), animate(), ...
  • 100. Effects: show(), fadeOut(), toggle(), animate(), ... • Traversing find(), prevAll(), next(), hasClass(), children(), siblings(), ...
  • 101. Effects: show(), fadeOut(), toggle(), animate(), ... • Traversing find(), prevAll(), next(), hasClass(), children(), siblings(), ... • Ajax get(), getJSON(), post(), ajax(), load()
  • 102.
  • 103. Las acciones pueden ser encadenadas: $(...).addClass(ʻfooʼ).fadeIn().html(“foo”); $("li").not(":has(ul)").css("border", "1px solid black"); $(':input').parents(':not(:first)').show()
  • 104. jQuery tiene una enorme comunidad. • test coverage! plugins! books support tutorials • open (free) license! speed • Código ligero.
  • 105.
  • 106. Projectos que lo usan: Wordpress, Drupal, Textpattern
  • 107. Projectos que lo usan: Wordpress, Drupal, Textpattern • Compañías que lo usan: Google, Amazon, Digg, Netflix, Dell, HP, Bank of America, Intel... NBC, CBS, BBC, Reuters, Newsweek...
  • 109. Interactions • Draggable • Widgets • Droppable • Accordion • Sortable • Datepicker • Selectable • Dialog • Resizable • Progressbar • Effects • Slider • Theming y CSS • Tabs framework
  • 110. ¿CUÁL ES MEJOR? • jQuery tiene selectores más potentes • Dojo tiene un framework UI más potente. • Prototype y MooTools, son mucho más extensibles (OO) y modulares.