2012-07-05 22 views
6

tengo este código html:clase añadir a los niños - jQuery

<div class="rotation"> 
    <ul> 
    <li><img src="..." alt="" /></li> 
    <li><img src="..." alt="" /></li> 
    <li><img src="..." alt="" /></li> 
    </ul> 
</div> 

tengo que añadir a la clase UL, quiero hacerlo usando jQuery, porque ul, li se generan sin ninguna clase.
Digamos que la etiqueta ul debe ser <ul class="image_rotation">. ¿Cómo puedo hacerlo?

Respuesta

11

Read about jQuery's addClass method here.

$('.rotation ul').addClass('image_rotation'); 

El código anterior se sumará una clase de image_rotation a cada ul que es un descendiente de cualquier elemento con la clase rotation.

Si desea orientar únicamente ul s que son una secundario inmediato de un elemento con una clase de rotation, utilice el child selector (>):

$('.rotation > ul').addClass('image_rotation'); 

Si sólo quiere hacer esto en un .rotation elemento , deberías darle una identificación y seleccionarla de esa manera. Por ejemplo:

$('#rotation ul'); 

y

<div id="rotation" class="rotation"> 
    <ul> 
     <li><img src="..." alt="" /></li> 
     <li><img src="..." alt="" /></li> 
     <li><img src="..." alt="" /></li> 
    </ul> 
</div> 
+0

Esto es mejor que Google. Escribí mi pregunta y después de 30 segundos recibí una respuesta. Antes de eso, estaba buscando esto en Google durante 10 minutos mínimos. Muy buena respuesta por cierto. – miszczu

+0

@miszczu Gracias y sí, este sitio es increíblemente útil. Un consejo amigable: tenga cuidado al hacer preguntas como esta. Podemos aumentar o rechazar su pregunta dependiendo de cuánto esfuerzo de investigación ha realizado y qué tan clara es la pregunta. Esta pregunta es muy clara, pero vi antes que obtuviste un voto negativo (parece que ahora estás de vuelta a 0). Probablemente esto se debió a que no hiciste ningún esfuerzo de investigación. Recuerde mostrar lo que ha intentado hasta ahora y qué documentación ha revisado. ¡A veces, después de hacer eso, puedes responder la pregunta por ti mismo! vivas – lbstr

1
$(".rotation").children("ul").addClass("MyClass"); 
+0

'children' tiene una minúscula c y te falta el' $ 'o' jQuery' antes de '(" .rotation ")' – lbstr

+0

@lbstr - sí actualizado gracias por poiting que .. –

2

Es muy fácil, sólo hacer:

$(document).ready(function(){ 
    $('div.rotation ul').addClass('image_rotation'); 
}); 
6

yo sugeriría hacer que sea sencillo:

$('div.rotation ul').addClass('image_rotation'); 

O, si tiene varias ul elementos dentro del elemento div.rotation, puede especificar el primer ul:

$('div.rotation ul:first').addClass('image_rotation'); 

La última ul:

$('div.rotation ul:last').addClass('image_rotation'); 

O un ul de arbitray índice basado en cero, por ejemplo, el tercero ul (con un índice de 2):

$('div.rotation ul:eq(2)').addClass('image_rotation'); 

o:

$('div.rotation ul').eq(2).addClass('image_rotation'); 

O un niño inmediata (por lo que no ul elementos anidados en otros elementos):

$('div.rotation > ul').addClass('image_rotation'); 

Referencias:

3

todo lo que necesita es encontrar el UL en el div y asignarle su clase. se puede ver que en este demo, pero el código HTML para su está por debajo de

$(document).ready(function(){ 
    $('ul','div.rotation').each(function(index){ 
     $(this).addClass('image_rotation'); 
    }); 
});​ 
2
$(".rotation ul").attr("class","image_rotation"); 
Cuestiones relacionadas