SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Víctor M. Rivas Santos 
Muy breve 
Introducción a jQuery 
Descarga los ejemplos en 
https://github.com/vrivas/intro-jquery 
Noviembre, 2014
Qué es jQuery: versión oficial 
● https://jquery.com 
jQuery is a fast, small, and feature-rich JavaScript 
library. It makes things like HTML document 
traversal and manipulation, event handling, 
animation, and Ajax much simpler with an easy-to-use 
API that works across a multitude of browsers. 
With a combination of versatility and extensibility, 
jQuery has changed the way that millions of people 
write JavaScript.
Qué es jQuery: a mi modo de 
ver 
● Una excelente biblioteca para seleccionar 
nodos del DOM... 
● … y aplicarles todo tipo de manipulaciones
Qué bases necesitas para 
programar con jQuery 
● HTML 
● CSS > Importantísimo 
● Javascript > para lo del “programar”
De dónde “descargo” esta 
biblioteca 
● Del sitio oficial: https://jquery.com/download/ 
● De las Google Hosted Libraries: 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
</script> 
● De cualquier página web que las use... Ctrl+U 
;) 
● Normalmente usamos la versión “min”
“Hola mundo” en jQuery 
<html> 
<head> 
<title>Hola Mundo jQueryano</title> 
<script src="jquery-2.1.1.js"></script> 
</head> 
<body> 
<h1>Hola mundo jQueryano</h1> 
<p></p><p></p><p></p><p></p> 
<script> 
jQuery( "p" ).html( "Hola mundo" ); 
</script> 
</body> 
</html> 
Selección de nodos 
“Manipulaciones”
¿jQuery()? 
● Normalmente usaremos su “alias”: $ 
$( "p" ).html( "Hola mundo" );
Qué pongo en la parte del 
“selector” 
● Básicamente: expresiones CSS 
● Modificamos el ejemplo anterior haciendo: 
$( "p, h1" ).html( "Hola mundo" ); 
● Otras posibilidades: 
$( "#identificador" ).html( "Hola mundo" ); 
$( ".clase" ).html( "Hola mundo" ); 
$( "h1+h2" ).html( "Hola mundo" ); 
$( "p a" ).html( "Hola mundo" ); 
$( "p > a" ).html( "Hola mundo" ); 
$( "*" ).html( "Hola mundo" ); 
$( "p[opcional]" ).html( "Hola mundo" ); 
$( "p[opcional='si']" ).html( "Hola mundo" ); 
$( "td :not( .cabecera )" ).html( "Hola mundo" ); 
● Más info: http://api.jquery.com/category/selectors/
Qué pongo en la parte de la 
manipulación 
● Puff... hay de todo 
● Algunos ejemplos básicos (luego veremos más): 
– .html( “Texto que reemplazará el que exista” ) 
– .css( “font-weight”, “bold” ) 
– .css( { “font-weight”: “bold”, “color”: “green” } ) 
– .append( “Texto a añadir al final” ) 
– .prepend( “Texto a añadir por el principio” ) 
– .remove() 
– .addClass( “clase1 clase2 clase3” ) 
– .removeClass( “clase1 clase2 clase3” ) 
– .removeClass()
Encadenamiento de acciones 
● Posiblemente, una de las mejores cosas de 
jQuery: 
– El 99,99% de los métodos devuelven un 
conjunto de nodos 
$( "p, h1" ).html( "Hola mundo" ); 
Devuelve todos los 
Nodos de tipo p y h1 
Cambia el contenido 
de los nodos … 
y devuelve otra vez todos 
los nodos de tipo p y h1
Un ejemplo de 
encadenamiento 
$("p") 
.css({"font-weight": "bold", "color":"green"}) 
.html( "Bonito texto") 
.append( "<strong>que incluyo aquí</strong>") 
.prepend( "<em>Voy a poner un</em> ") 
.css( "border", "solid 1px red");
Cómo modifico el conjunto de 
nodos 
● Se pueden añadir más nodos al conjunto sobre el que trabajamos o 
bien reducirlo, usando los siguientes métodos: 
– .add( selector ) 
– .children( [selector] ) 
– .first() 
– .eq( posicion ) 
– .slice( inicio, final ) 
– .end(): permite “deshacer” la última selección que hayamos aplicado. 
● $('p').eq(2).css( 'text-align', 'center').end().first().css( 'border','2px dashed blue' ) 
– .next(), prev(), prevAll(), siblings() 
– .parent() 
– .filter( selector o función(índice) ) 
– .find()
Cuándo puedo empezar a 
operar con el DOM 
● Normalmente esperamos a que se haya terminado de 
cargar dicho DOM: 
– Al final de la página 
– Usando el evento READY: 
$(document).ready( function() { … } ); 
– O incluso más corto: 
$( function() { … });
Ejemplo de $(function(){...}); 
<html> 
<head> 
<script src="jquery-2.1.1.min.js"></script> 
<script> 
$( function() { 
$(".autor").append( "<p><small>Por Pepe Illo</small></p>" ); 
}); 
</script> 
<body> 
<h1>Ejemplo de jQuery</h1> 
<p class="autor">Espero a que se cargue el documento completo 
para empezar a modificar el DOM</p> 
</body> 
</html>
Añadimos algunos efectos 
● Una de las “maravillas” de jQuery es la posibilidad de 
aplicar llamativos efectos al contenido de una web. 
● hide(), show(): 
$(“[lang='en']”).hide(2000) 
● toggle() (luego veremos un evento con .click) 
● fadeIn(),fadeOut(), fadeToggle() 
● slideDown(),slideUp(), slideToggle() 
● animate()
Ejemplo animate 
<html><head> 
<style> p { border: 1px solid blue; }</style> 
<script src="jquery-2.1.1.min.js"></script> 
<script> 
function reducir() { 
$('p').animate({'margin-left': '-=20%', 'font-size': '-=30pt', 'border-width': '0px'}, 1000); 
} 
function agrandar() { 
$('p').animate({'margin-left': '+=20%', 'font-size': '+=30pt', 'border-width': '+=45px'}, 3000); 
} 
$(function () { agrandar(); reducir(); }); 
</script> 
<body> 
<h1>Ejemplo de Animate</h1> 
<p>Viva la, viva la, viva la ampliación</p> 
<p>Soy un párrafo que me agrando, y luego aplico una reducción</p> 
</body></html>
Creando callbaks para eventos 
● Podemos definir los eventos para cada uno de los elementos de la página 
web de forma muy sencilla: 
<html><head> 
<script src="jquery-2.1.1.min.js"></script> 
<script> 
$(function () { 
$('img').mouseover(function () { $(this).css("border", "3px solid red"); }) 
.mouseout(function () { $(this).css("border-width", "0px"); }) 
.click( function () { alert( $(this).attr("src")); }); 
}); 
</script> 
<body> 
<h1>Ejemplo de asignación de eventos</h1> 
<img 
src="http://www.freeimageslive.com/galleries/sports/sportsgames/preview/cricket_ball.jpg"> 
<img src="http://thumbs.dreamstime.com/x/cricket-bat-ball-26560801.jpg"> 
</body></html>
¿Qué es eso de los “pluyins”? 
● Usando como base jQuery se han 
desarrollado numerosos plug-ins. 
● Lo único que necesitamos es incluir antes 
que nada jQuery y a partir de ahí lo que 
necesitemos: 
– http://plugins.jquery.com/
Ejemplo del plug-in jBox 
(¡ojo, que he puesto primero el body!) 
<body> 
<h1>Ejemplo de uso del plugin jBox</h1> 
<form action="javascript: return false;"> 
Nombre: <input type="text" value="" 
class="ayuda" 
title="Introduzca su nombre" 
id="nombre"> 
<input type="submit" value="Enviar" id="enviar"> 
<input type="reset" value="Limpiar" id="limpiar"> 
</form> 
</body> 
</html>
Ejemplo del plug-in jBox 
<html> 
<head><title>Ejemplo de plugin con jQuery</title> 
<!-- Incluimos la biblioteca jQuery, jBox y la hoja de estilos --> 
<script src="jquery-2.1.1.min.js"></script> 
<script src="jBox.min.js"></script> 
<link href="jBox.css" rel="stylesheet"> 
<script> 
$(function() { 
$('.ayuda').jBox('Tooltip'); 
new jBox('Modal', { width: 300, height: 200, attach: $('#enviar'), 
title: 'Envío de datos al servidor', animation: "slide", 
content: '<em>Se va a proceder al envío de datos al servidor</em>' }); 
$("#limpiar").click( function ( ){ 
new jBox('Notice', {color: "blue",content: 'Se restauraron los valores por defecto'}); }) 
}); 
</script> 
</head>
Gracias 
● Remember: 
http://www.digitallearning.es 
publicidad 
publicidad 
publ 
icid 
ad 
publicidad 
facebook.com/victorrivassantos 
vrivas@ujaen.es 
@vrsantos 
http://vrivas.es

Más contenido relacionado

La actualidad más candente

Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicketAdrià Solé Orrit
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Ignacio Martín
 
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
 
jQuery 1.3 Eghost Julio2009
jQuery 1.3 Eghost Julio2009jQuery 1.3 Eghost Julio2009
jQuery 1.3 Eghost Julio2009Irontec
 
Clase 14 doctrine - subir archivos
Clase 14   doctrine - subir archivosClase 14   doctrine - subir archivos
Clase 14 doctrine - subir archivoshydras_cs
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSPjubacalo
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSPjubacalo
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletjubacalo
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva pagejubacalo
 
Clase 14 bundles útiles
Clase 14 bundles útilesClase 14 bundles útiles
Clase 14 bundles útileshydras_cs
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLjubacalo
 
Procesar estado
Procesar estadoProcesar estado
Procesar estadoLismirabal
 

La actualidad más candente (20)

Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicket
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
 
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
 
Clase 12 jQuery basico
Clase 12  jQuery basicoClase 12  jQuery basico
Clase 12 jQuery basico
 
jQuery 1.3 Eghost Julio2009
jQuery 1.3 Eghost Julio2009jQuery 1.3 Eghost Julio2009
jQuery 1.3 Eghost Julio2009
 
Introducción a Flask
Introducción a FlaskIntroducción a Flask
Introducción a Flask
 
Clase 14 doctrine - subir archivos
Clase 14   doctrine - subir archivosClase 14   doctrine - subir archivos
Clase 14 doctrine - subir archivos
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSP
 
Php2
Php2 Php2
Php2
 
Cómo domar SonataAdminBundle
Cómo domar SonataAdminBundleCómo domar SonataAdminBundle
Cómo domar SonataAdminBundle
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servlet
 
Taller de Jquery
Taller de JqueryTaller de Jquery
Taller de Jquery
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva page
 
Clase 14 bundles útiles
Clase 14 bundles útilesClase 14 bundles útiles
Clase 14 bundles útiles
 
J query
J queryJ query
J query
 
Ajax
AjaxAjax
Ajax
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
Procesar estado
Procesar estadoProcesar estado
Procesar estado
 

Destacado

Ajax
AjaxAjax
Ajaxutpl
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesossilviamap64
 
Calidad de software final final.pptx
Calidad de software final final.pptxCalidad de software final final.pptx
Calidad de software final final.pptxsamiva91
 
Que es AJAX
Que es AJAXQue es AJAX
Que es AJAXITSTB
 
Calidad Del Software
Calidad Del SoftwareCalidad Del Software
Calidad Del SoftwareUVM
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Mario A Moreno Rocha
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad softwareAlejandro Leon
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareMiguel Sanchez
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado clienteJeremias Morales
 
Dimensiones de la calidad cep
Dimensiones de la calidad cepDimensiones de la calidad cep
Dimensiones de la calidad cepPau Aragon
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de softwareyecka25
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de SoftwareMario A Moreno Rocha
 
Gestión de la calidad y mejora continua
Gestión de la calidad y mejora continuaGestión de la calidad y mejora continua
Gestión de la calidad y mejora continuaLuigui Meza Galdos
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREEdwingelviz
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de softwareCentro Líbano
 
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareGestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareBlace57
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareGalo Lalangui
 

Destacado (20)

Ajax
AjaxAjax
Ajax
 
jQuery y ASP
jQuery y ASPjQuery y ASP
jQuery y ASP
 
Dhtml
DhtmlDhtml
Dhtml
 
7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos7. cambios en el software y mejora de procesos
7. cambios en el software y mejora de procesos
 
Calidad de software final final.pptx
Calidad de software final final.pptxCalidad de software final final.pptx
Calidad de software final final.pptx
 
Que es AJAX
Que es AJAXQue es AJAX
Que es AJAX
 
Calidad Del Software
Calidad Del SoftwareCalidad Del Software
Calidad Del Software
 
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
Redes Sociales: Una vuelta por el mundo (Expo Orienta 2015)
 
Procesos de calidad software
Procesos de calidad softwareProcesos de calidad software
Procesos de calidad software
 
Herramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de softwareHerramientas y entornos de implementacion de software
Herramientas y entornos de implementacion de software
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 
Dimensiones de la calidad cep
Dimensiones de la calidad cepDimensiones de la calidad cep
Dimensiones de la calidad cep
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
4. Diseño e Implementación de Software
4. Diseño e Implementación de Software4. Diseño e Implementación de Software
4. Diseño e Implementación de Software
 
Gestión de la calidad y mejora continua
Gestión de la calidad y mejora continuaGestión de la calidad y mejora continua
Gestión de la calidad y mejora continua
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWARE
 
Introducción HTML
Introducción HTMLIntroducción HTML
Introducción HTML
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de softwareGestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
Gestión de riesgo, calidad y cambio en el desarrollo de proyectos de software
 
Métricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de softwareMétricas del proceso y proyecto - Procesos de Ingeniería de software
Métricas del proceso y proyecto - Procesos de Ingeniería de software
 

Similar a (Muy breve) Introduccion a jQuery

Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryDavid Arango
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS Marcos Reynoso
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5Plain Concepts
 
Screen scraping
Screen scrapingScreen scraping
Screen scrapingThirdWay
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterAdolfo Sanz De Diego
 
Examen 2° grado primer bimestre
Examen 2° grado primer bimestreExamen 2° grado primer bimestre
Examen 2° grado primer bimestresaraalonso1989
 
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.
 
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.
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básicocamposer
 

Similar a (Muy breve) Introduccion a jQuery (20)

Javascript en proyectos reales: jQuery
Javascript en proyectos reales: jQueryJavascript en proyectos reales: jQuery
Javascript en proyectos reales: jQuery
 
Jquery
JqueryJquery
Jquery
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
 
Gwt III - Avanzado
Gwt III - AvanzadoGwt III - Avanzado
Gwt III - Avanzado
 
Unidad 3 AJAX
Unidad 3 AJAX Unidad 3 AJAX
Unidad 3 AJAX
 
Unidad3ajax
Unidad3ajaxUnidad3ajax
Unidad3ajax
 
De HTML a Express
De HTML a ExpressDe HTML a Express
De HTML a Express
 
Curso de HTML5
Curso de HTML5Curso de HTML5
Curso de HTML5
 
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
 
HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5HTML Tour - Programación de Videojuegos HTML5
HTML Tour - Programación de Videojuegos HTML5
 
Screen scraping
Screen scrapingScreen scraping
Screen scraping
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
 
Curso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzadosCurso AngularJS - 7. temas avanzados
Curso AngularJS - 7. temas avanzados
 
Examen 2° grado primer bimestre
Examen 2° grado primer bimestreExamen 2° grado primer bimestre
Examen 2° grado primer bimestre
 
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
 
J query
J queryJ query
J query
 
Python scraping
Python scrapingPython scraping
Python scraping
 
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
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básico
 

(Muy breve) Introduccion a jQuery

  • 1. Víctor M. Rivas Santos Muy breve Introducción a jQuery Descarga los ejemplos en https://github.com/vrivas/intro-jquery Noviembre, 2014
  • 2. Qué es jQuery: versión oficial ● https://jquery.com jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
  • 3. Qué es jQuery: a mi modo de ver ● Una excelente biblioteca para seleccionar nodos del DOM... ● … y aplicarles todo tipo de manipulaciones
  • 4. Qué bases necesitas para programar con jQuery ● HTML ● CSS > Importantísimo ● Javascript > para lo del “programar”
  • 5. De dónde “descargo” esta biblioteca ● Del sitio oficial: https://jquery.com/download/ ● De las Google Hosted Libraries: <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script> ● De cualquier página web que las use... Ctrl+U ;) ● Normalmente usamos la versión “min”
  • 6. “Hola mundo” en jQuery <html> <head> <title>Hola Mundo jQueryano</title> <script src="jquery-2.1.1.js"></script> </head> <body> <h1>Hola mundo jQueryano</h1> <p></p><p></p><p></p><p></p> <script> jQuery( "p" ).html( "Hola mundo" ); </script> </body> </html> Selección de nodos “Manipulaciones”
  • 7. ¿jQuery()? ● Normalmente usaremos su “alias”: $ $( "p" ).html( "Hola mundo" );
  • 8. Qué pongo en la parte del “selector” ● Básicamente: expresiones CSS ● Modificamos el ejemplo anterior haciendo: $( "p, h1" ).html( "Hola mundo" ); ● Otras posibilidades: $( "#identificador" ).html( "Hola mundo" ); $( ".clase" ).html( "Hola mundo" ); $( "h1+h2" ).html( "Hola mundo" ); $( "p a" ).html( "Hola mundo" ); $( "p > a" ).html( "Hola mundo" ); $( "*" ).html( "Hola mundo" ); $( "p[opcional]" ).html( "Hola mundo" ); $( "p[opcional='si']" ).html( "Hola mundo" ); $( "td :not( .cabecera )" ).html( "Hola mundo" ); ● Más info: http://api.jquery.com/category/selectors/
  • 9. Qué pongo en la parte de la manipulación ● Puff... hay de todo ● Algunos ejemplos básicos (luego veremos más): – .html( “Texto que reemplazará el que exista” ) – .css( “font-weight”, “bold” ) – .css( { “font-weight”: “bold”, “color”: “green” } ) – .append( “Texto a añadir al final” ) – .prepend( “Texto a añadir por el principio” ) – .remove() – .addClass( “clase1 clase2 clase3” ) – .removeClass( “clase1 clase2 clase3” ) – .removeClass()
  • 10. Encadenamiento de acciones ● Posiblemente, una de las mejores cosas de jQuery: – El 99,99% de los métodos devuelven un conjunto de nodos $( "p, h1" ).html( "Hola mundo" ); Devuelve todos los Nodos de tipo p y h1 Cambia el contenido de los nodos … y devuelve otra vez todos los nodos de tipo p y h1
  • 11. Un ejemplo de encadenamiento $("p") .css({"font-weight": "bold", "color":"green"}) .html( "Bonito texto") .append( "<strong>que incluyo aquí</strong>") .prepend( "<em>Voy a poner un</em> ") .css( "border", "solid 1px red");
  • 12. Cómo modifico el conjunto de nodos ● Se pueden añadir más nodos al conjunto sobre el que trabajamos o bien reducirlo, usando los siguientes métodos: – .add( selector ) – .children( [selector] ) – .first() – .eq( posicion ) – .slice( inicio, final ) – .end(): permite “deshacer” la última selección que hayamos aplicado. ● $('p').eq(2).css( 'text-align', 'center').end().first().css( 'border','2px dashed blue' ) – .next(), prev(), prevAll(), siblings() – .parent() – .filter( selector o función(índice) ) – .find()
  • 13. Cuándo puedo empezar a operar con el DOM ● Normalmente esperamos a que se haya terminado de cargar dicho DOM: – Al final de la página – Usando el evento READY: $(document).ready( function() { … } ); – O incluso más corto: $( function() { … });
  • 14. Ejemplo de $(function(){...}); <html> <head> <script src="jquery-2.1.1.min.js"></script> <script> $( function() { $(".autor").append( "<p><small>Por Pepe Illo</small></p>" ); }); </script> <body> <h1>Ejemplo de jQuery</h1> <p class="autor">Espero a que se cargue el documento completo para empezar a modificar el DOM</p> </body> </html>
  • 15. Añadimos algunos efectos ● Una de las “maravillas” de jQuery es la posibilidad de aplicar llamativos efectos al contenido de una web. ● hide(), show(): $(“[lang='en']”).hide(2000) ● toggle() (luego veremos un evento con .click) ● fadeIn(),fadeOut(), fadeToggle() ● slideDown(),slideUp(), slideToggle() ● animate()
  • 16. Ejemplo animate <html><head> <style> p { border: 1px solid blue; }</style> <script src="jquery-2.1.1.min.js"></script> <script> function reducir() { $('p').animate({'margin-left': '-=20%', 'font-size': '-=30pt', 'border-width': '0px'}, 1000); } function agrandar() { $('p').animate({'margin-left': '+=20%', 'font-size': '+=30pt', 'border-width': '+=45px'}, 3000); } $(function () { agrandar(); reducir(); }); </script> <body> <h1>Ejemplo de Animate</h1> <p>Viva la, viva la, viva la ampliación</p> <p>Soy un párrafo que me agrando, y luego aplico una reducción</p> </body></html>
  • 17. Creando callbaks para eventos ● Podemos definir los eventos para cada uno de los elementos de la página web de forma muy sencilla: <html><head> <script src="jquery-2.1.1.min.js"></script> <script> $(function () { $('img').mouseover(function () { $(this).css("border", "3px solid red"); }) .mouseout(function () { $(this).css("border-width", "0px"); }) .click( function () { alert( $(this).attr("src")); }); }); </script> <body> <h1>Ejemplo de asignación de eventos</h1> <img src="http://www.freeimageslive.com/galleries/sports/sportsgames/preview/cricket_ball.jpg"> <img src="http://thumbs.dreamstime.com/x/cricket-bat-ball-26560801.jpg"> </body></html>
  • 18. ¿Qué es eso de los “pluyins”? ● Usando como base jQuery se han desarrollado numerosos plug-ins. ● Lo único que necesitamos es incluir antes que nada jQuery y a partir de ahí lo que necesitemos: – http://plugins.jquery.com/
  • 19. Ejemplo del plug-in jBox (¡ojo, que he puesto primero el body!) <body> <h1>Ejemplo de uso del plugin jBox</h1> <form action="javascript: return false;"> Nombre: <input type="text" value="" class="ayuda" title="Introduzca su nombre" id="nombre"> <input type="submit" value="Enviar" id="enviar"> <input type="reset" value="Limpiar" id="limpiar"> </form> </body> </html>
  • 20. Ejemplo del plug-in jBox <html> <head><title>Ejemplo de plugin con jQuery</title> <!-- Incluimos la biblioteca jQuery, jBox y la hoja de estilos --> <script src="jquery-2.1.1.min.js"></script> <script src="jBox.min.js"></script> <link href="jBox.css" rel="stylesheet"> <script> $(function() { $('.ayuda').jBox('Tooltip'); new jBox('Modal', { width: 300, height: 200, attach: $('#enviar'), title: 'Envío de datos al servidor', animation: "slide", content: '<em>Se va a proceder al envío de datos al servidor</em>' }); $("#limpiar").click( function ( ){ new jBox('Notice', {color: "blue",content: 'Se restauraron los valores por defecto'}); }) }); </script> </head>
  • 21. Gracias ● Remember: http://www.digitallearning.es publicidad publicidad publ icid ad publicidad facebook.com/victorrivassantos vrivas@ujaen.es @vrsantos http://vrivas.es