Comunidad de diseño web y desarrollo en internet online

atributos tabla no funciona con internet explorer

Citar            
MensajeEscrito el 06 Jun 2009 04:13 pm
Hola amigos que tal?
Tengo una tabla ya hecha en mi html

Código HTML :

<body>
<table width="400" border="0" cellspacing="0" id="audioTbShow">
  <tr>
    <th width="118" align="center">nombre</th>
    <th width="67" align="center">fecha</th>
    <th width="193" align="center">descripción</th>
  </tr>
</table>
</body>

cuando en la etiqueta tr pongo

Código HTML :

onmouseover='this.style.cursor="pointer";this.style.backgroundColor="#CCCCCC";' onmouseout='this.style.cursor="pointer";this.style.backgroundColor="#FFFFFF";'

de modo que cuando el mouse pase por encima la fila se sombree de gris y cuando salga vuelva a tener color blanco.
funciona bien en firefox e internet explorer, sin embargo para poder tener todo en orden saque esas lineas y las puse en un archivo js de la siguiente manera:

Código Javascript :

function crear_tabla() {
   var tabla_sh = document.getElementById("audioTbShow");
   for (var a=1; a<4; a++) {
      var filaX = tabla_sh.insertRow(a);
      filaX.setAttribute('onmouseover', 'this.style.cursor="pointer";this.style.backgroundColor="#CCCCCC";');
      filaX.setAttribute('onmouseout', 'this.style.cursor="pointer";this.style.backgroundColor="#FFFFFF";');
      var celda1 = filaX.insertCell(0);
      var celda2 = filaX.insertCell(1);
      var celda3 = filaX.insertCell(2);
      celda1.setAttribute('align', 'center');
      celda2.setAttribute('align', 'center');
      celda3.setAttribute('align', 'center');
      celda1.innerHTML = "el nombre"+(a);
      celda2.innerHTML = "la fecha"+(a);
      celda3.innerHTML = "la descripcion"+(a);
   }
}

donde esta funcion invocada por

Código HTML :

<body onload="crear_tabla()"> 
llama a la tabla del html insertandole 3 filas con sus respectivos contenidos. Sin embargo las lineas que corresponden al sombreado no fuincionan en internet explorer pero si en firefox, he buscado en documentacion DOM pero no he encotrado alguna excepcion que diga que explorer tiene problemas con los atributos al ser modificados desde una función. Alguien tiene alguna idea como solucionarlo??

Un saludo

Por Mr. X-ecutor

96 de clabLevel

1 tutorial

Genero:Masculino  

12/02/2007

firefox
Citar            
MensajeEscrito el 06 Jun 2009 06:04 pm
Hola,

En IE hay muchos atributos que no pueden asignarse con setAttribute. Puedes ver información de este problema en el bug: [url=http://webbugtrack.blogspot.com/2007/08/bug-242-setattribute-doesnt-always-work.html][/url]

Tienes que hacer la asignación de esta manera:

miElemento.onmouseover = function() {
//lo que quieras hacer en el mouseover
};

Saludos

Por Pablo.L.Pastor

4 de clabLevel



 

Spain

firefox
Citar            
MensajeEscrito el 08 Jun 2009 05:52 pm
hey excelente, funciono, muchas gracias pablo. Reamente es un problema que IE no complete ciertas caracteristicas del DOM que son fundamentales en un desarrollo. Pero en fin nos acomodamos a lo que hay. Un saludo y una vez mas gracias :)

Por Mr. X-ecutor

96 de clabLevel

1 tutorial

Genero:Masculino  

12/02/2007

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.