Foros del Web » Creando para Internet » CSS »

cambiar style a un <a href...>

Estas en el tema de cambiar style a un <a href...> en el foro de CSS en Foros del Web. Wenas: Quiero cambiar el estilo de un ancla (<a href...>) al hacer click en este. Tengo puesto <a href="javascript :cambiar(this)"> y la funcion es function ...
  #1 (permalink)  
Antiguo 12/03/2004, 03:19
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 4 meses
Puntos: 1
cambiar style a un <a href...>

Wenas:

Quiero cambiar el estilo de un ancla (<a href...>) al hacer click en este.

Tengo puesto <a href="javascript:cambiar(this)"> y la funcion es

function cambiar(obj) {
obj.style.backgroundColor = "#ff0000";
}

pero me da el error 'style' es nulo o no es un objeto.

¿Por qué?

Salu2, gracias, y ¡¡BASTA YA!!
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender

Última edición por fjmasero; 12/03/2004 a las 03:22
  #2 (permalink)  
Antiguo 12/03/2004, 08:12
 
Fecha de Ingreso: agosto-2003
Mensajes: 499
Antigüedad: 20 años, 8 meses
Puntos: 1
style.backgroundColor te permite modificar el color de fondo del atributo style de la etiqueta. O sea que necesitaría algo así :

<a href="" style="background-color:transaparent">

Lo que en realidad intentas hacer es modificar el color de fondo *calculado* por el navegador, fondo que depende de la herencia de los varios estilos. Eso es mucho más difícil. La manera estándar es usar la propiedad getComputedStyle que navegadores recientes como el Opera 7.5 o el Mozilla conocen. El problema es que el abuelo IE6 no lo conoce ypor lo tanto hay que usar una función propietaria de Microsoft que se llama computedStyle.
__________________
Plaza Mozilla
http://www.chevrel.org/es/noticias/
  #3 (permalink)  
Antiguo 13/03/2004, 02:59
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 4 meses
Puntos: 1
Hola PascalC:

Gracias por contestar.

Chico, no entiendo nada de lo q me has dicho.

Yo si q he hecho muchas veces es lo típico de pasar por encima de una td de un table, o algo parecido, y mediante, por ejemplo, td.style.backgroundColor = "#ff0000" dicha td tomaba como color de fondo el rojo, y algo similar es lo q pretendo pero con un link.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #4 (permalink)  
Antiguo 13/03/2004, 12:24
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hola

Bueno, lo que quieres hacer es bastante sencillo...

basta con que coloques este código en la cabecera de tu página

<style type="text/css">
a:link {
color: #ff0000;
}
a:hover {
color: #00ff00;
}
a:active {
color: #0000ff;
}
</style>

son tres modificadores de la etiqueta a, es decir, del link, el primero es como se ven cuando se carga la página, el segundo como se ve cuando le pasas el ratón por encima y el tercero como se ve mientras estás haciendo clic en el vínculo.

funciona en cualquier vínculo, por ejemplo

<a href="#">texto</a>

Por supuesto, los colores que usé arriba, son muy básicos y los deberías camabiar para que se ajusten a tu diseño

SUerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #5 (permalink)  
Antiguo 15/03/2004, 05:59
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 4 meses
Puntos: 1
Hola PatomaS:

Gracias por contestar.

Ya conozco el uso de hover, etc., pero no se consigue el efecto q quieren.

De todas formas, ¿pq da el error q he descrito?. No lo entiendo.

Salu2
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #6 (permalink)  
Antiguo 15/03/2004, 06:26
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, fjmasero.

No se porque da ese error, pero te puedo decir como solucionarlo. Ponlo así:

<a href="#" onclick="cambiar(this); return false">

Saludos,
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 00:34.