Javascript - Clase 6
Javascript - Clase 6
Javascript I (jQuery)
Clase 6
Introducción a jQuery
Índice
La librería jQuery …………………………………… 2
El Core de jQuery …………………………………… 3
Funcionalidad en nodos DOM …………………………………… 4
Efectos en nodos DOM …………………………………… 6
Eventos con jQuery …………………………………… 7
Otras recomendaciones …………………………………… 8
Página 1 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
La librería jQuery
jQuery es una biblioteca de JavaScript que nos permitirá simplificar la manera de manipular los objetos
del DOM, manejar eventos, desarrollar animaciones y agregar interacción con AJAX. Esta biblioteca fue
creada inicialmente por John Resig y presentada por primera vez el 14 de enero de 2006 en el BarCamp de
Nueva York.
jQuery ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requerirían de
mucho más código, es decir, con las funciones propias de esta biblioteca se logran grandes resultados en
menos tiempo y espacio.
Para utilizarlo, solo necesitamos descargar la última versión desde el sitio web oficial
(http://jquery.com/download/), guardarlo en nuestro proyecto y hacerle referencia desde el documento
HTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Google posee un amplio listado de librerías online, las cuales podemos utilizar sin necesidad de
descargarlas. Esto nos permite referenciar la librería de la siguiente forma:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
Podemos ver un listado completo de las librerías que posee Google en esta dirección:
https://developers.google.com/speed/libraries/devguide?hl=es-ES
En esta clase veremos cómo jQuery nos ayuda a realizar lo que aprendimos en las clases anteriores de
una manera más sencilla y con la seguridad de que obtendremos la misma funcionalidad independientemente
de la plataforma o el navegador que utilicemos.
Página 2 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
El Core de jQuery
El Core de jQuery lo forman las funciones más recurridas y que forman la base sobre la que se trabaja
para hacer cualquier cosa con jQuery. Contiene una serie de clases y métodos útiles para hacer tareas
reiterativas, que vamos a necesitar en las aplicaciones. Integra desde funciones que serán útiles en cualquier
script, por sencillo que sea, hasta funciones menos recurridas pero que nos facilitarán el trabajo a la hora de
hacer código limpio, corto y reutilizable.
La principal función de la librería es la función jQuery, la cual tiene diversas utilidades según los
parámetros que se le envíen. Esta función posee como nombre el signo pesos, es decir: $(). Dado que varias
librerías poseen la función pesos, también podemos llamarla de la siguiente forma: jQuery().
Acceso directo a nodos del DOM
Su utilidad principal es acceder de forma directa a los diferentes nodos del árbol DOM, mediante el uso
de selectores CSS.
var misLi = $('li');
for (var i=0; i < misLi.length; i++) {
console.log(misLi[i]); //Mostrará cada uno de los elementos li
}
console.dir(misLi); //Podremos ver el listado de propiedades del array misLi
Así podemos acceder a nodos que serían complejos de conseguir con JavaScript nativo.
//Conseguimos todos los li con clase number, que sean hijos de un elemento cuyo
//atributo id sea buttons
var nodos = $('#buttons li.number');
console.dir(nodos); //Podremos ver el listado de propiedades del array de nodos
Al utilizar la función jQuery pasándole como parámetro un texto con el selector CSS de los nodos que
queremos recuperar, obtendremos un array con todos los nodos encontrados.
Importante: Tener en cuenta que en el ejemplo anterior no se está controlando la carga completa del
DOM antes de ejecutar el código JavaScript, por lo cual no va a funcionar a menos que pongamos el código
dentro del manejador del evento Load del documento o hacer referencia al archivo script.js al final del
HTML.
Extender funcionalidades de los elementos del DOM
Podemos utilizar la función jQuery pasándole como parámetro un objeto del DOM, lo cual resultará en
un nuevo objeto, muy similar al objeto DOM original, pero extendido con todas las funcionalidades de
jQuery para los elementos DOM.
Se debe tener en cuenta que al acceder directamente a nodos del DOM utilizando la función jQuery y
selectores CSS, la mayoría de las veces obtendremos un array con objetos nodo, y este array estará
extendido por las funcionalidades de jQuery, pero los elementos internos no, con lo cual si deseamos utilizar
las funciones jQuery sobre los nodos recuperados debemos volver a incluirlos dentro de la función jQuery:
var misLi = $('li'); //El array devuelto posee funciones jQuery pero los li no
for (var i=0; i < misLi.length; i++) {
$(misLi[i]); //convertimos cada li en nodo con funcionalidades jQuery
}
Página 3 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
El método HTML
El método html es el equivalente a la propiedad innerHtml de los objetos nodo en JavaScript nativo.
Puede recibir cero o un atributo de tipo string.
Si no le pasamos ningún atributo obtendremos todos los nodos hijo convertidos a texto XHTML. Si le
pasamos un atributo, se remplazará todo el contenido del nodo por el texto XHTML que le enviemos y se
volverá a generar el DOM.
var botonera = $('#buttons'); //obtenemos el elemento con id "buttons"
console.log($(botonera).html()); //Obtenemos todo el html interno
$(botonera).html('<p>Cambiamos el html</p>'); //Remplazamos el html interno
El método APPEND
Este método agrega contenido XHTML al final del elemento actual (internamente).
//Agregamos un párrafo al final del elemento buttons
$('#buttons').append('<p>Agregamos html</p>');
El método PREPEND
Es similar a APPEND pero agrega contenido XHTML al principio del elemento actual (internamente).
//Agregamos un párrafo al principio del elemento buttons
$('#buttons').prepend('<p>Agregamos html</p>');
El método AFTER
Este método agrega contenido XHTML después del elemento actual (externamente).
//Agregamos un párrafo al principio del elemento buttons
$('#buttons').after('<p>Agregamos html fuera de buttons</p>');
Página 4 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
El método BEFORE
Es similar a AFTER pero agrega contenido XHTML antes del elemento actual (externamente).
//Agregamos un párrafo al principio del elemento buttons
$('#buttons').after('<p>Agregamos html fuera de buttons</p>');
El método ATTR
Al igual que el método CSS, ATTR puede recibir uno o dos parámetros de tipo string. El primer
parámetro representa el nombre del atributo HTML que queremos acceder y el segundo el valor para esta
atributo.
Si le pasamos solo el primer parámetro estaremos obteniendo el valor actual para dicho atributo. Si le
pasamos ambos parámetros estaremos dándole un nuevo valor al atributo.
var numeros = $('#buttons li.number'); //obtenemos todos los botones numero
for (var i=0; i < numeros.length; i++) {
$(numeros[i]).attr('title', 'button'+i); //Agregamos el atributo title
console.log($(numeros[i]).attr('class')); //Obtenemos el atributo class
}
El método PROP
Este método es muy similar a ATTR, dado que lo utilizaremos para modificar propiedades del nodo
XHTML. La principal diferencia es que PROP actúa sobre las propiedades del objeto DOM de JavaScript, y
ATTR actúa solo sobre los atributos XHTML.
PROP es muy útil para manejar elementos de formulario, sobre todo cuando queremos modificar
elementos que estén deshabilitados.
var miInput = $('#miInput'); //obtenemos un elemento input en particular
miInput.prop('disabled', false);
var miCheckBox = $('#miCheckBox'); //obtenemos un checkbox en particular
miCheckBox.prop('checked', true);
El método ADDCLASS
Este método permite agregar un nuevo valor al atributo class de XHTML. Observar que esto no
remueve otras clases que ya posea el elemento, como pasaría al utilizar el método ATTR.
//Agregamos la clase 'nuevaClase' al elemento con id 'buttons'
$('#buttons').addClass('nuevaClase');
El método REMOVECLASS
Este método elimina la clase especificada del elemento XHTML en caso que exista.
//Agregamos la clase 'nuevaClase' al elemento con id 'buttons'
$('#buttons').removeClass('nuevaClase');
Página 5 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
SHOW
Es similar a HIDE solo que en lugar de ocultar, muestra el elemento actual.
$('#buttons').show();//Mostramos de forma normal
$('#buttons').show('slow');// Mostramos lentamente
$('#buttons').show('fast');// Mostramos rápidamente
TOGGLE
Este método utiliza los métodos SHOW y HIDE, y cada vez que lo ejecutamos reconoce si el objeto
actual está visible o no, para ocultarlo o mostrarlo según corresponda.
$('#buttons').show();//Nos aseguramos que el elemento está visible
$('#buttons').toggle();//Ocultamos
$('#buttons').toggle();//Volvemos a mostrar
SLIDEUP
Es similar a HIDE, solo que en lugar de disminuir la opacidad con CSS del elemento hasta hacerlo
desaparecer, le disminuye la altura.
$('#buttons').slideup();//Ocultamos de forma normal
$('#buttons').slideup('slow');//Ocultamos lentamente
$('#buttons').slideup('fast');//Ocultamos rápidamente
SLIDEDOWN
Es similar a SHOW, solo que en lugar de aumentar la opacidad con CSS del elemento hasta hacerlo
aparecer, le aumenta la altura.
$('#buttons').slidedown();//Mostramos de forma normal
$('#buttons').slidedown('slow');// Mostramos lentamente
$('#buttons').slidedown('fast');// Mostramos rápidamente
SLIDETOGGLE
Similar a TOGGLE, pero en lugar de utilizar SHOW y HIDE, utiliza SILDEDOWN y SLIDEUP.
Página 6 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
El evento click
El evento click es uno de los eventos más utilizados en la web y podemos controlarlo fácilmente con
jQuery. También podemos disparar un evento click sobre cualquier objeto del DOM ejecutando el método
click de jQuery sin pasarle argumentos.
$('#miElemento').click(miFuncion);//miFuncion manejará el evento click
Página 7 de 8
CURSO JAVASCRIPT I Auxiliar: Joaquin Jauregui
Disertante: David Curras Auxiliar: Germán A.Dosko
Otras recomendaciones
Para aquellos que deseen interiorizarse aún más en la librería jQuery, recomendamos leer el siguiente
manual de DesarrollosWeb.com
DesarrollosWeb.com - jQuery
Importante!!! Como ya vimos antes, Firebug posee el método dir del objeto console que permite
visualizar el listado de propiedades, métodos y eventos disponibles en el objeto que enviemos como
parámetro. Este método solo sirve para visualizar objetos y esta disponible únicamente en Firebug.
Muchass veces no es necesario buscar en la web ciertas funcionalidad, simplemente recorremos la lista
que nos provee console.dir y podremos encontrar la propiedad de jQuery que estamos buscando.
Página 8 de 8