Foros del Web » Programando para Internet » Javascript »

poner una clase dinámicamente

Estas en el tema de poner una clase dinámicamente en el foro de Javascript en Foros del Web. Hola, a ver si alguien puede ayudarme. Tengo un código html de una tabla que sigue este patrón (es un calendario): Código: <td class="ms-cal-monthitem"> <a ...
  #1 (permalink)  
Antiguo 08/07/2008, 02:53
TaM
 
Fecha de Ingreso: noviembre-2005
Mensajes: 58
Antigüedad: 18 años, 5 meses
Puntos: 0
poner una clase dinámicamente

Hola, a ver si alguien puede ayudarme.

Tengo un código html de una tabla que sigue este patrón (es un calendario):

Código:
<td class="ms-cal-monthitem">
  <a onfocus="OnLink(this)" href="url" ONCLICK="GoToLink(this);return false;" target="_self" tabindex=17>
  <NOBR><b>4:00 PM</b></NOBR><br>
  Libre
  </a>
</td>
La palabra Libre, la hora (4:00 MP) y la url es algo que va cambiando para los diferentes td que tengo.

El código html no puedo modificarlo, como mucho puedo hacer un replace de alguna parte del código.

Donde pone "Libre", a veces sale "ocupado" y otras "pedido". Son 3 tipos y cada uno tiene que tener un color de fondo distinto.

Necesito cambiar la clase "ms-cal-monthitem" dependiendo de cada tipo y quiero hacerlo con javascript. No me sirve hacer un replace de por ejemplo la palabra "Libre" por <div style="background-color:red">Libre</div>.

Se os ocurre alguna manera de hacerlo?Yo había pensado en recoger todos los elementos de tipo <a> del formulario, mirar el valor que tienen (Libre, Ocupado o pedido) y dependiendo de ellos, coger el td que le corresponde y cambiarle la clase pero no sé como puedo hacer eso sin ponerle ninguna id al td. No sé si es posible saber cual es el "parent" del <a>.

También había pensado mediante javascript recoger todos los "td" que tuvieran esa clase (ms-cal-monthitem), mirar si dentro tienen un <a> y mirar el valor y si dependiendo de él (libre, ocupado o pedido) ponerle una clase u otra.

Espero haberme explicado, a ver si alguien tiene alguna idea de como hacer esto...

Gracias!
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 02:24.