Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Agregar estilo

Estas en el tema de Agregar estilo en el foro de Jquery en Foros del Web. Necesito dar un estilo a un <spam> dentro de un <a> @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código HTML: Ver original < a aba-menu-sidebar-toggle submenuid = "menuHerramientas" >   ...
  #1 (permalink)  
Antiguo 12/08/2015, 13:12
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Agregar estilo

Necesito dar un estilo a un <spam> dentro de un <a>

Código HTML:
Ver original
  1. <a aba-menu-sidebar-toggle submenuid="menuHerramientas">
  2.     <i class="icon-custom-portlets"></i>
  3.     <span class="title">Herramientas</span>
  4.     <span class="selected"></span>
  5.     <span class="arrow"></span> </a>
  6. <ul class="sub-menu ng-hide"  id="menuHerramientas">

Al pusar en <a> me va a la directiva de angular que procesa el siguiente codigo jQuery

Código HTML:
Ver original
  1. element.on('click', function() {
  2.           var submenu = $('#'+scope.submenuid);
  3.           if (submenu.hasClass('ng-hide')) {
  4.             submenu.removeClass('ng-hide');
  5.           } else {
  6.             submenu.addClass('ng-hide');
  7.           }
  8.         });

Necesito que a parte de mostra/ocultar el ul con id="menuHerramientas", que lo hace correcto.
Que además el spam "<span class="arrow"></span>"
me lo cambie por " <span class="arrow open"></span>

Alguien me puede ayudar.
Muchas gracias.
  #2 (permalink)  
Antiguo 12/08/2015, 13:17
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Agregar estilo

Toma al <span> por su clase y añádele la nueva clase con el método .addClass().

Código Javascript:
Ver original
  1. $(".arrow").addClass("open");

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 12/08/2015, 13:50
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Agregar estilo

Me lo hace bien pero me cambia todos los de la pantalla.
Hay alguna manera de limitarlo a que este dendro del <a> por ejemplo el que cambie.
Muchas gracias.
  #4 (permalink)  
Antiguo 12/08/2015, 15:41
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Agregar estilo

En ese caso, delega el evento click a todos los enlaces que contengan elementos similares, para lo cual te sería de mucha utilidad asignarles una clase. Cuando des un clic en cualquiera de dichos enlaces, buscas al elemento con la clase "arrow" y le añades la nueva clase.

Código Javascript:
Ver original
  1. $(".clase").on("click", function(){
  2.     /* Otras instrucciones */
  3.     $(this).find(".arrow").addClass("open");
  4. });

Siempre consulta la documentación de jQuery pues hay muchos métodos que te pueden ser útiles.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 12/08/2015, 15:45
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Agregar estilo

Si necesitas que sea único, usa un id, y así solo asignas clases a ese id.

Tambien puedes acceder con $('a').childNodes[posicion] donde el array son los elementos dentro de <a>
  #6 (permalink)  
Antiguo 12/08/2015, 16:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Agregar estilo

Estimado monicapo; me temo que la propiedad childNodes no es parte de jQuery sino de JS nativo. Su equivalente en la librería es el método .children().

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 13/08/2015, 01:03
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Agregar estilo

Con lo que ha puesto Alexis88 lo he resuelto perfectamente.
Muchas gracias por vuestro interes.

Etiquetas: estilo
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 20:12.