Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] funciones con .attr() de Jquery

Estas en el tema de funciones con .attr() de Jquery en el foro de Jquery en Foros del Web. Hola, Me encuentro en la etapa de apredizaje y me topé con este código: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original <! doctype html > ...
  #1 (permalink)  
Antiguo 26/04/2015, 08:45
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 10 meses
Puntos: 12
funciones con .attr() de Jquery

Hola,

Me encuentro en la etapa de apredizaje y me topé con este código:
Código Javascript:
Ver original
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4.   <meta charset="utf-8">
  5.   <title>attr demo</title>
  6.   <style>
  7.   div {
  8.     color: blue;
  9.   }
  10.   span {
  11.     color: red;
  12.   }
  13.   b {
  14.     font-weight: bolder;
  15.   }
  16.   </style>
  17.   <script src="jquery/jquery-1.11.2.js"></script>
  18. </head>
  19. <body>
  20.  
  21. <div>Zero-th <span></span></div>
  22. <div>First <span></span></div>
  23. <div>Second <span></span></div>
  24.  
  25. <script>
  26. $( "div" )
  27.   .attr( "id", function( arr ) {
  28.     return "div-id" + arr;
  29.   })
  30.   .each(function() {
  31.     $( "span", this ).html( "(id = '<b>" + this.id + "</b>')" );
  32. });
  33. </script>
  34.  
  35. </body>
  36. </html>
y el resultado es:
Código HTML:
Ver original
  1. Zero-th (id = 'div-id0')
  2. First (id = 'div-id1')
  3. Second (id = 'div-id2')
Se ve que div-idx se incrementa, alguien por favor podría explicarme como es posbile esto con dos funciones encadenadas?

Gracias
  #2 (permalink)  
Antiguo 26/04/2015, 10:19
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: funciones con .attr() de Jquery

Lo explico resumidamente:

Primero, a cada elemento div del documento le añade un atributo ID mediante una función. Dicha función toma como valor del primer parámetro el index del elemento actual dentro del conjunto de divs, empezando desde 0. De esta forma se le asigna a cada contenedor un ID diferente. Después, usando una técnica llamada chaining o encadenamiento de funciones, invoca al método .each() del elemento/s al que se hizo referencia en primera instancia, o sea $("div"). Con este método recorre todos los divs anteriores obteniendo sus respectivos IDs y añadiéndolos a los spans que se encuentran dentro de cada uno de ellos.

Última edición por PHPeros; 26/04/2015 a las 10:38
  #3 (permalink)  
Antiguo 27/04/2015, 08:48
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 10 meses
Puntos: 12
Respuesta: funciones con .attr() de Jquery

Muy buena tu explicación.

Muchas gracias

Etiquetas: attr, funciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.