Diferencia entre revisiones de «Usuario:ManuelRomero/JavaScript/jquery/conceptosGenerales»

De WikiEducator
Saltar a: navegación, buscar
(Ejemplos de uso del selector de jQuery)
Línea 265: Línea 265:
  
 
<div class="slide">
 
<div class="slide">
==== Ejemplos de uso del selector de jQuery ====
+
==== Seleccionando elementos del DOM con JQuery  ====
 +
;Todos los elementos del documento
 +
<source lang=javascript>
 +
$("*");
 +
</source>
 +
;Selección por nombre de elemento o nodo
 +
*Los elementos concretos de un determinado tipo. Selección por nombre de elemento o nodo
 +
<source lang=javascript>
 +
//todos los párrafos
 +
$("p");
 +
//todas las imagenes
 +
$("img");
 +
//todas los formularios
 +
$("form")
 +
 
 +
</source>
 +
;Selección por id
 +
*En esta selección debemos anteponer el '''''#''''' al valor del '''''id''''' seleccionado
 +
<source lang=javascript>
 +
<h1 id=titulo> .. </h1>
 +
...
 +
$("#titulo")
 +
//Seleccionaría el elemento titulo
 +
</source>
 +
 
 +
;Selección por class
 +
*En este caso ante del valor de la clase se pone un '''''.''''' (punto) .
 +
<source lang=javascript>
 +
 
 +
</source>
 +
 
 +
;elementos que tengan un atributo definido
 +
<source lang=javascript>
 +
</source>
 +
 
 +
;elementos que tengan un atributo con un determinado valor
 +
<source lang=javascript>
 +
</source>
 +
 
 +
 
 +
 
 +
;Ejemplos
 
<source lang="javascript">
 
<source lang="javascript">
 
$("p")  //se seleccionan todos los elementos de tipo párrafo
 
$("p")  //se seleccionan todos los elementos de tipo párrafo
Línea 435: Línea 476:
 
</source>
 
</source>
 
}}
 
}}
 +
 
====Acciones con html====
 
====Acciones con html====
 
==== Manipulación del contenido html ====
 
==== Manipulación del contenido html ====

Revisión de 21:21 5 abr 2016



http://www.desarrolloweb.com/manuales/manual-jquery.html

Qué es JQuery

  • Es una librería de funciones de javascript que facilita el uso de javascript
  • Nosotros nos vamos a centrar en la parte del DOM (elementos y eventos en la página html)
  • También se conoce como un framework, que viene siendo un entorno para desarrollar software en un determinado lenguaje, donde se facilita al desarrollador muchas acciones a la hora de hacer un programa.

Para qué sirve JQuery

  • Para usar JQuery, hemos de conocer las tecnologías en las cuales lo vamos a utilizar
  1. HTML
  2. CSS
  3. JavaScript

JQuery es un entorno ligero que parte de la filosofía escribe menos, haz mas

  • Cosas que se pueden hacer con JQuery:

Manipular la página HTML a través del DOM Manipular CSS Acceder y controlar los eventos de la página html

  1. Efectos y animaciones
  2. AJAX
  3. Incorporar Utilidades
  4. HTML/DOM manipulation
  5. CSS manipulation
  6. HTML event methods
  7. Effects and animations
  8. AJAX
  9. Utilities realizadas en JQuery

Cómo usar JQuery

  • Para usar jquery debemos especificar el fichero donde están los fuentes de la librería

(Comment.gif: *Al final solo son una librerías de javascript que van a hacer más facil hacer ciertas tareas)


  • Podemos indicar dónde está el fuente en internet o descargarlo a nuestro ordenador
  1. descargarlo https://jquery.com/download/
  2. Especificar su ubucación en internet

Versión de producción:

	<script type="text/javascript" src="jquery-1.10.2.min.js"></script>

Versión de desarrollo

	<script type="text/javascript" src="jquery-1.10.2.js"></script>

Uso de un CDN

  • También a través de un CDN (Content Delivery Network).
  • ¿Qué es un CDN? Grupo de servidores repartidos por todo el mundo en puntos estratégicos y pensados para la distribución de ficheros):
  • CDN de Google:
	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  • CDN de Microsoft:
	<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js"></script>
  • CDN del propio jQuery:
Minified:
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
Full:
	<script type="http://code.jquery.com/jquery-1.10.2.js"></script>

</div>

Sintaxis

  • La sintaxis de JQuery es muy sencilla
  • La filosofía de uso es hacer una acción sobre un conjunto (1 o mas) elementos seleccionados.
  • La sintaxis básica es
 $(selector).accion();
  • Donde
  1. $ indica que vamos a acceder a la bliblioteca jQuery
  2. selector permitirá identificar el elemento o elementos de la página a la que nos referimos (un determando id, elementos de tipo img, ...
  3. accion() es la acción que queremos realizar (ocultar, escibir, modificar propiedades , ...)

Especificar cuando se ejecuta

  • Hasta ahora la forma de asignar acciones a los eventos es ir elemento a elemento, especificando en el atributo del evento correspondiente la acción deseada
  • Tomemos el siguiente ejemplo


Icon activity.jpg

saludo al hacer click en un enlace

A partir de una página html que tenga un enlace, hacemos un programa javascript que la hacer click en el enlace salga un saludo con un alert en lugar de ir al enlace



<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="utf-8">
    <title>Hola Mundo con jquery</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
   <!-- <script src="jquery-1.10.2.min.js"></script> -->
    <script>
    function saluda(elEventoClick){
            alert("Hola Mundo");
            elEventoClick.preventDefault();
    }
    </script>
</head>
<body>
    <a href="http://jquery.com/" onclick="saluda(event);">jQuery</a>
</body>
</html>

}}


Icon activity.jpg

Comentado el código

 <a href="http://jquery.com/" onclick="saluda(event);">jQuery</a>
Observa cómo se pasa como argumento a la función saluda el propio evento que se genera al hacer un click en el enlace

    function saluda(elEventoClick){
            alert("Hola Mundo");
            elEventoClick.preventDefault();
    }
esta función recibe el evento en una variable llamada elEventoClick, parámetro de la función
Lo que hago es usar un método de ese objeto para anular la acción básica que es ir al enlace especificado en el atributo href del elemento a




  • Otra forma de asignar código a un a un elemento es hacerlo todo desde el script. Es decir asignar a un envento a un elemento o grupo de elementos concretos una acción concreta.
// ....
 document.getElementById("holamundo").onclick = holaMundo;
// ...
function holaMundo()
   {
	   alert ("Hola Mundo");
	   return false;
   }
  • Es importante ver lo peculiar del código anterior.


Icon activity.jpg

Asignando el nombre de una función

En javascipt puedo asignar el nombre de una función a una variable
  • En este caso no hace falta asignar paréntensis
  • Es como si estuviéramos creando un alias o asignando a una variable el código de una función (Concepto de funciones anónimas)
  • Cuando escriba en nombre de la variable, se ejecuta la función






Icon activity.jpg

Actividad

Title "Asignano funciones a variables"




  • Pero ahora nos queda el tema de cuando asignar este código.
  • Debemos de hacerlo una vez que se haya cargado todo la página.
  • Si queremos hacerlo escribiendo el código en la cabecera, podemos usar el evento de que la página se haya cargado
Momento de Ejecución del código Javascript
  • Cuando la página se ha cargado.
window.onload = function(){ /*Aquí viene mi código de javascript*/ }
  • ¿Por qué? No se puede ejecutar hasta que el DOM se haya cargado completamente
  • Desventaja: Habrá que esperar la carga completa de imágenes y anuncios para su ejecución, que requieren más tiempo.


Icon activity.jpg

Hola Mundo mediante javascript

  • Crea una página web con un enlace que muestre un alert con el texto "Hola Mundo" y que "anule" el enlace.
 <!DOCTYPE html>
 <html>
 <head>
   <meta charset="utf-8">
   <title>Hola Mundo en javaScript</title>
   <script type="text/javascript">
   window.onload = function() { 
   		document.getElementById("holamundo").onclick = holaMundo;
   }
   function holaMundo()
   {
	   alert ("Hola Mundo");
	   return false;
   }
   </script>
 </head>
 <body>
   <a id="holamundo" href="http://jquery.com/">jQuery</a>
 </body>
 </html>




Momento de Ejecución del código jQuery

  • Cuando el documento (DOM) esté preparado para ser manipulado.
  • Antes de que se carguen imágenes o anuncios.
  • ¡Ojo al efectuar acciones sobre imágenes si no están todavía cargadas!
$(document).ready(function(){
   // Aquí viene mi código jQuery
});


Icon activity.jpg

Hola Mundo mediante jQuery

  • Descarga una versión de jQuery e inserta las siguientes instrucciones de jQuery:
		$("a").click(function(event) {
			alert("Hola Mundo");
			event.preventDefault();
		});
  • Resultado actividad:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Hola Mundo con jquery</title>
<script src="jquery-1.10.2.min.js"></script>
<script>
	$(document).ready(function() {
		$("a").click(function(event) {
			alert("Hola Mundo");
			event.preventDefault();
		});
	});
</script>
</head>
<body>
	<a href="http://jquery.com/">jQuery</a>
</body>
</html>




Seleccionar elementos del DOM con JQuery

  • Como ya hemos visto la acción de selección empieza por $(), y entre paréntesis se especifica la selección que se desea realizar
  • La selección se puede hacer por los siguientes criterios
  1. nombre
  2. id
  3. clases
  4. tipos
  5. atributos
  6. valores de atributos
  7. otros mas
  • Ahora vamos a ver unos ejemplos

$(selector).action()

  • $: Simbolo para definir JQuery (podríamos usar también JQuery)
selector: Consulta sobre los elementos HTML (sintaxis muy similar a CSS)
action: Acción que se ejecuta sobre los elementos
  • Ejemplos:
$(this).hide() 		//oculta el elemento actual
$("p").hide() 		//oculta todos los elementos de tipo párrafo
$("p.test").hide() 	//oculta todos los párrafos con class=test
$("#test").hide() 	//oculta todos los elementos con id=test

Seleccionando elementos del DOM con JQuery

Todos los elementos del documento
$("*");
Selección por nombre de elemento o nodo
  • Los elementos concretos de un determinado tipo. Selección por nombre de elemento o nodo
//todos los párrafos
$("p");
//todas las imagenes
$("img");
//todas los formularios
$("form")
Selección por id
  • En esta selección debemos anteponer el # al valor del id seleccionado
<h1 id=titulo> .. </h1>
...
$("#titulo")
//Seleccionaría el elemento titulo
Selección por class
  • En este caso ante del valor de la clase se pone un . (punto) .
 
elementos que tengan un atributo definido
 
elementos que tengan un atributo con un determinado valor
 


Ejemplos
$("p")  //se seleccionan todos los elementos de tipo párrafo
$("p.intro")  //todos los párrafos con class=intro
$("p#demo")  //todos los párrafos con id=demo
$("[href]") //todos los elementos con atributo href
$("[href='#']") //todos los elementos con atributo href="#"
$("[href!='#']")  //todos los elementos con atributo href diferente de "#"
$("[href$='.jpg']") //todos los elmentos con atributo href que acabe en .jpg
$("p").css("background-color","yellow"); //modificamos el background-color de todos los párrafos a amarillo
$("p#intro:first") 	//El primer párrafo con id="intro"
$("ul li:first") 	El primer elemento <li> de cada <ul>
$("div#intro .head") //Todos los elementos con class="head" dentro de un <div> con id="intro"


Icon activity.jpg

Dado el siguiente código oculta todos los elementos

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("selector").hide();
});
</script>
</head>
<body>
 
<h2>This is a heading</h2>
 
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
 
</body>
</html>






Icon activity.jpg

Oculta el elemento con id=test.

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("selector").hide();
});
</script>
</head>
<body>
 
<p>This is a paragraph.</p>
<p id="test">This is a paragraph with id="test".</p>
 
</body>
</html>






Icon activity.jpg

Oculta todos los elementos del documento

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("selector").hide();
});
</script>
</head>
<body>
 
<h1>This is a heading</h1>
<h2>This is another heading</h2>
 
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
 
<div>This is a div element.</div>
<button>This is a button</button>
 
</body>
</html>






Icon activity.jpg

Oculta los elementos con un atributo href

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("selector").hide();
});
</script>
</head>
<body>
 
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
<a href="http://www.w3schools.com/html/">HTML Tutorial</a>
<a href="http://www.w3schools.com/css/">CSS Tutorial</a>
 
</body>
</html>






Icon activity.jpg

Oculta todas las filas pares de la tabla

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("selector").hide();
});
</script>
</head>
<body>
 
<table border="1">
  <tr>
    <th>Company</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Berglunds snabbköp</td>
    <td>Sweden</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>UK</td>
  </tr>
</table>
 
</body>
</html>





Acciones con html

Manipulación del contenido html

  • Cambia el contenido del elemento/s html seleccionado/s:
$(selector).html(contenido)
  • Añaden contenido en el elemento HTML seleccionado:
$(selector).append(content)
$(selector).prepend(content)
  • Añaden contenido después o antes del elemento HTML seleccionado:
$(selector).after(content)
$(selector).before(content)

Aplicando efectos con JQuery

Encadenando métodos en JQuery

Dom y JQuery; Modificando elemntos

Dom y JQuery; Accediendo a los atributos

JQuery y CSS

JQuery y Formularios

JQuery y Eventos

JQuery Validando formularios con plugin

==== JQueryUI: Interfaz gráfico con JQuery====