Foros del Web » Programando para Internet » Javascript »

asiganar clases distintas con array

Estas en el tema de asiganar clases distintas con array en el foro de Javascript en Foros del Web. hola, he creado unos elementos dinamicamente que son unos <li> con enlaces, pero me gustaria asigar una clase diferente a cada uno de esos <li> ...
  #1 (permalink)  
Antiguo 11/01/2016, 05:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 43
Antigüedad: 16 años, 1 mes
Puntos: 0
asiganar clases distintas con array

hola, he creado unos elementos dinamicamente que son unos <li> con enlaces,
pero me gustaria asigar una clase diferente a cada uno de esos <li> generado y no se la verdad. si el primer li tiene la clase "clase1" que el seguno li tenga la clase "clase2"
y asi sucesivamente, les pongo el codigo abajo

$( document ).ready(function() {
var todasul = document.getElementsByTagName('ul');
var ul0 = todasul[0];
var ul01 = todasul[1];
//variable donde se pasan el numero de enlaces
//que se van a crear
var dinamic_a=5;
var dinamic_li=1;
//variable por defecto de li

//creacion dinamica <li> de bandejas
for (var i=0; i< dinamic_li; i++){
var creacionli= document.createElement("li");

creacionli.setAttribute('class','detclass');
var creaciondiv=document.createElement("div");
creacionli.appendChild(creaciondiv);
var nodoh5=document.createElement("h5");
nodoh5.setAttribute('class','dual-tray-header');
var textoh5= document.createTextNode("0");
nodoh5.appendChild(textoh5);
creacionli.insertBefore(nodoh5,creaciondiv);

for(var ic=0; ic< dinamic_a; ic++)
{
var creaciona=document.createElement("a");
creaciona.setAttribute('class','dual-tray-row');
var texto_a= document.createTextNode("Enlace 0 bloque 1");
creaciona.appendChild(texto_a);
creaciondiv.appendChild(creaciona);
}
ul0.appendChild(creacionli);

}
  #2 (permalink)  
Antiguo 11/01/2016, 06:46
 
Fecha de Ingreso: noviembre-2010
Ubicación: Córdoba
Mensajes: 119
Antigüedad: 13 años, 5 meses
Puntos: 8
Respuesta: asiganar clases distintas con array

Hola, el código que requieres es muy sencillo de conseguir.

Partiendo de que tenemos un <ul> con la clase "clase_x", <ul class="clase_x">, tan solo debemos buscar sus hijos <li>.
Bien, una vez que tenemos los <li>, los recorreremos de fácil forma con el método each de jQuery (imagino que lo estás usando).

Al recorrer esa estructura de datos con each, la función anónima nos da un indice y el elemento.

var lis = $('ul > li');
lis.each (indice, elemento) {
// $(this) es el li actual
$(this).addClass ("clase_" + indice);
}


En caso de ser JavaScript puro, Array tiene el método forEach.

Saludos

Etiquetas: clases, distintas
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 23:41.