SlideShare una empresa de Scribd logo
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.
Jquery
•   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.
Jquery
•   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.
Jquery
•   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(), ...
Jquery
•   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()
Jquery
•   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.
Jquery
•   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.

Más contenido relacionado

PPTX
Jquery parte 1
ODP
Introducción a JQuery
ODP
Introduccion a Jquery
PDF
(Muy breve) Introduccion a jQuery
PPT
Charla Jquery
PDF
JQuery-Tema 1
PDF
jQuery 1.3 Eghost Julio2009
PDF
Seminario jquery, html5 y wicket
Jquery parte 1
Introducción a JQuery
Introduccion a Jquery
(Muy breve) Introduccion a jQuery
Charla Jquery
JQuery-Tema 1
jQuery 1.3 Eghost Julio2009
Seminario jquery, html5 y wicket

La actualidad más candente (19)

PPTX
Clase 12 jQuery basico
PPTX
PPTX
Jquery
ODP
Introduccion a j_query
PDF
jQuery
PDF
03. Introduccion a JavaScript y JQuery
PDF
Clase 14 doctrine - subir archivos
PDF
Doctrine2 sf2Vigo
PDF
Introduccion a DOM y AJAX - Javier Oliver Fulguera
PDF
Tutorial de jquery
PPTX
Lenguaje JavaScript parte 2
PDF
Entidades en drupal 8
PPTX
Unidad 3 AJAX
PPTX
Entidades en drupal 8
PDF
Acciones JSP
PPTX
Clase 12 jQuery basico
Jquery
Introduccion a j_query
jQuery
03. Introduccion a JavaScript y JQuery
Clase 14 doctrine - subir archivos
Doctrine2 sf2Vigo
Introduccion a DOM y AJAX - Javier Oliver Fulguera
Tutorial de jquery
Lenguaje JavaScript parte 2
Entidades en drupal 8
Unidad 3 AJAX
Entidades en drupal 8
Acciones JSP
Publicidad

Destacado (20)

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

Similar a Jquery (20)

ODP
Desarrollando aplicaciones web usando Catalyst y jQuery
ODP
Desarrollo de aplicaciones web usando Catalyst y jQuery
PDF
Código mantenible, en Wordpress.
ODP
Desarrollo de aplicaciones web usando Catalyst y jQuery
PDF
J M E R L I N P H P
PDF
Jquery para principianes
PDF
Desarrollo código mantenible en WordPress utilizando Symfony
PPT
Php Basico
ODP
Asegúr@IT II - Seguridad en Web
DOCX
Julissa huaman hilari
PDF
Javascript en proyectos reales: jQuery
PDF
Silex, desarrollo web ágil y profesional con PHP
PPTX
HTML 5 & WebGL (Spanish Version)
PDF
Assetic PHPmvd
PPTX
DBIx::Class
PDF
Twig, el nuevo motor de plantillas de Drupal 8
PDF
Web Scrapping & WordPress
PPTX
Unidad3ajax
PDF
Twig avanzado (sf2Vigo)
Desarrollando aplicaciones web usando Catalyst y jQuery
Desarrollo de aplicaciones web usando Catalyst y jQuery
Código mantenible, en Wordpress.
Desarrollo de aplicaciones web usando Catalyst y jQuery
J M E R L I N P H P
Jquery para principianes
Desarrollo código mantenible en WordPress utilizando Symfony
Php Basico
Asegúr@IT II - Seguridad en Web
Julissa huaman hilari
Javascript en proyectos reales: jQuery
Silex, desarrollo web ágil y profesional con PHP
HTML 5 & WebGL (Spanish Version)
Assetic PHPmvd
DBIx::Class
Twig, el nuevo motor de plantillas de Drupal 8
Web Scrapping & WordPress
Unidad3ajax
Twig avanzado (sf2Vigo)

Último (20)

PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
clase auditoria informatica 2025.........
PPTX
Presentación de Redes de Datos modelo osi
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
Estrategia de apoyo tecnología miguel angel solis
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Calidad desde el Docente y la mejora continua .pdf
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Zarate Quispe Alex aldayir aplicaciones de internet .docx
historia_web de la creacion de un navegador_presentacion.pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Influencia-del-uso-de-redes-sociales.pdf
introduccion a las_web en el 2025_mejoras.ppt
Diapositiva proyecto de vida, materia catedra
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
clase auditoria informatica 2025.........
Presentación de Redes de Datos modelo osi
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Propuesta BKP servidores con Acronis1.pptx
SAP Transportation Management para LSP, TM140 Col18
Liceo departamental MICRO BIT (1) 2.pdfbbbnn

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.
  • 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.
  • 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.
  • 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(), ...
  • 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()
  • 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.
  • 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.