Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/10/2011, 10:44
jluisfg
 
Fecha de Ingreso: abril-2011
Ubicación: Distrito Federal
Mensajes: 83
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Asignar clases con JQuery dinamicamente

Cita:
Iniciado por Trublux Ver Mensaje
El problema es poner la clase "uno", "dos", etc. Se podría hacer para unos cuantos, pero si pueden ser infinitos "div"...

Una forma sería la siguiente, aunque en este caso les pondríamos la clase "nombre-clase+número de div":
Código Javascript:
Ver original
  1. $(function(){
  2.     $('div').each(function(indice){
  3.         //console.log(indice);
  4.         $(this).addClass( 'clase-' + indice );
  5.     });
  6. });

En este caso los div resultantes serían así:
Código HTML:
Ver original
  1. <div class="clase-0">Contenido</div>
  2. <div class="clase-1">Contenido</div>
  3. <div class="clase-2">Contenido</div>
  4. <div class="clase-3">Contenido</div>
  5. <div class="clase-4">Contenido</div>
  6. <div class="clase-5">Contenido</div>

Si quisieras poner la clase "uno", "dos", etc. Podrías poner:
Código Javascript:
Ver original
  1. if ( indice == 0 )
  2. clase="uno";
  3. elseif(indice==1)
  4. clase="dos";
  5. ...

Pero de esa forma tendrías que poner muchas condiciones, es mejor poner un texto más un número.

Ten en cuenta que de esta forma estás cogiendo todos los "div" de la web, lo mejor que puedes hacer es meterlos dentro de otra capa y coger sólo los "div" que estén dentro de esa capa.
Muchas gracias, creo que si era algo parecido. Aquí les dejo como lo hice por si alguien tiene mi mismo problema :D

Código HTML:
var i = 1;
    $("#herramientas").find("h2.trigger").each(function(){
        $(this).addClass("herramienta_"+i);
        if (i <= 4) {
        		i += 1;
        	}
        	else {
        		i = 1;
        	}