Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] añadir clase CSS si encuentra un TAG

Estas en el tema de añadir clase CSS si encuentra un TAG en el foro de Jquery en Foros del Web. Hola a todos. Veréis, no tengo mucha idea de js ni de jquery, y me vendría genial un poco de ayudita. Lo que quiero hacer ...
  #1 (permalink)  
Antiguo 18/04/2015, 13:48
Avatar de turuleto69  
Fecha de Ingreso: enero-2013
Ubicación: Cáceres
Mensajes: 27
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta añadir clase CSS si encuentra un TAG

Hola a todos.

Veréis, no tengo mucha idea de js ni de jquery, y me vendría genial un poco de ayudita.

Lo que quiero hacer es simple. Os dejo el código html y css en JSFiddle para que se entienda todo más claro ->[URL="https://jsfiddle.net/3bdj483b/1/"] https://jsfiddle.net/3bdj483b/1/[/URL]

También está ahí lo poco y mal que he hecho en jquery. Probablemente no valga para nada, pero bueno, yo lo dejo.

La idea es conseguir que cuando un article de la clase .post contenga en sus tags la etiqueta "rosita", añada la clase .pink al .post y por tanto, le cambie el background, quedando como resultado algo así:



Gracias de antemano :)

PD: La estructura html debe ser así.
  #2 (permalink)  
Antiguo 18/04/2015, 14:27
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: añadir clase CSS si encuentra un TAG

Yo cambiaría la etiqueta footer ya que no sé por que motivo no me deja cambiar el color de fondo, pero bueno para que tengas una idea, aquí te dejo lo que quieres pero en vez de cambiar el fondo se marca el rosita:

Código Javascript:
Ver original
  1. $('.tags li a').click(function(){
  2.    if($(this).text() == 'rosita'){
  3.         $(this).addClass("pink");
  4.    }
  5. });

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #3 (permalink)  
Antiguo 18/04/2015, 17:55
Avatar de turuleto69  
Fecha de Ingreso: enero-2013
Ubicación: Cáceres
Mensajes: 27
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: añadir clase CSS si encuentra un TAG

Hola MaNu,

Gracias por colaborar, pero ese script no me vale.

Primero porque yo quiero que funcione nada más carga la página, es decir, sin tener que hacer click en el enlace.

Y segundo porque necesito que me añada la clase .pink al .post, no al tag en sí.

Un saludo. Muchas gracias.
  #4 (permalink)  
Antiguo 18/04/2015, 18:49
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: añadir clase CSS si encuentra un TAG

Solo necesitas tomar al conjunto de enlaces contenidos en los elementos de clase 'post', iterar dicho conjunto y verificar si hay alguno que posee el texto en cuestión; al encontrarlo, tomas al elemento padre de clase 'post' del enlace y le aplicas la clase.

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $.each($(".post a"), function(){
  3.         if ($(this).text() == "rosita"){
  4.             $(this).parents(".post").addClass("pink");
  5.         }
  6.     });
  7. });

DEMO

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

Última edición por Alexis88; 18/04/2015 a las 18:55 Razón: Demo
  #5 (permalink)  
Antiguo 19/04/2015, 05:35
Avatar de turuleto69  
Fecha de Ingreso: enero-2013
Ubicación: Cáceres
Mensajes: 27
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: añadir clase CSS si encuentra un TAG

Cita:
Iniciado por Alexis88 Ver Mensaje
Solo necesitas tomar al conjunto de enlaces contenidos en los elementos de clase 'post', iterar dicho conjunto y verificar si hay alguno que posee el texto en cuestión; al encontrarlo, tomas al elemento padre de clase 'post' del enlace y le aplicas la clase.

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.     $.each($(".post a"), function(){
  3.         if ($(this).text() == "rosita"){
  4.             $(this).parents(".post").addClass("pink");
  5.         }
  6.     });
  7. });

[URL="https://jsfiddle.net/Alexis88/q332jcxb/"]DEMO[/URL]

Saludos

Muchísmas gracias Alexis!!!

Es justo lo que buscaba, funciona perfecto

Te lo agradezco un montón, gracias por tu tiempo :)

Tengo que dedicarle más tiempo a estas cosas.

Saludos.

Etiquetas: css, tags
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 03:02.