Aquí te dejo un ejemplo de cómo puedes hacerlo:
   Código PHP:
    <script type="text/javascript">
<!--
function cambiarCol(celda) {
    var elBg = celda.style.backgroundColor;
    if( elBg === "red" ) {
        celda.style.backgroundColor = "blue";
        celda.style.color="red";
        celda.getElementsByTagName("A")[0].style.color = "yellow";
    }
    else {
        celda.style.backgroundColor = "red";
        celda.style.color="green";
        celda.getElementsByTagName("A")[0].style.color = "blue";
    }
}
// -->
</script>
<table>
    <tr>
        <td style="background-color:red; color:green; " onmouseover="cambiarCol(this)" onmouseout="cambiarCol(this)">
            Texto normal <a href='www.google.com'>texto dentro de celda</a>
        </td>
    </tr>
</table> 
   
  
Aunque creo que lo más cómodo (y correcto) sería apoyarte en las hojas de estilo CSS tal y como te ha dicho 
Snd234. Deberías declarar un estilo 
normal y otro estilo 
normal_encima y con javascript cambiar el atributo 
class (
className). 
Sólo te lo he preparado así para que veas que es posible hacerlo sin 
className. 
Un saludo 
    EDIT: Ups, postee tarde, lo siento Javier