Foros del Web » Programando para Internet » Javascript »

Que mide en realidad el offsetWidth?... no se porque sucede esto, Ayuda!!

Estas en el tema de Que mide en realidad el offsetWidth?... no se porque sucede esto, Ayuda!! en el foro de Javascript en Foros del Web. Quiero obtener el ancho de una tabla que esta dentro de otra tabla, y cuando coloco el codigo javascript afuera de las etiqutas<table></table>, funciona bien ...
  #1 (permalink)  
Antiguo 15/08/2009, 20:30
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 4 meses
Puntos: 3
Pregunta Que mide en realidad el offsetWidth?... no se porque sucede esto, Ayuda!!

Quiero obtener el ancho de una tabla que esta dentro de otra tabla, y cuando coloco el codigo javascript afuera de las etiqutas<table></table>, funciona bien pero cuando coloco el mismo codigo entre las etiquetas <td></td> detecta que el ancho es "cero "

Sin embargo si quiero miodificar el color de fondo el codigo funciona bien sin importar si lo pongo fuera o dentro de la etiqueta <td></td>


Código HTML:
<html>
<head>
<title>AAAA!!!!!!!!!!!</title>
</head>
<table width="400" height="400" border="1" cellpadding="8" cellspacing="0">
<tr><td>

    <center>
    <table width="200" height="200" border="1" cellpadding="8" cellspacing="0" id="tabla">
    <tr><td>
		Esta es una tabla adentro de otra
	</td></tr>
	</table>
	</center><br><br>

    <script language="javascript">
	var ancho = document.getElementById('tabla');
	document.write("el ancho de la tabla roja es: "+ancho.offsetWidth);
	ancho.style.backgroundColor='red';
	</script>
	
</td></tr>
</table><br><br>

<script language="javascript">
var ancho = document.getElementById('tabla');
document.write("el ancho de la tabla roja es: "+ancho.offsetWidth);

</script>
<body>
</body>
</html> 
Aqui el link para que vean la pagina con el codigo que posteo:

http://diego1311.byethost6.com/ancho.html

Lo que quiero saber es como obtener el ancho cuando coloco el codigo entre las etiquetas<td></td>

Última edición por diego1311; 15/08/2009 a las 21:08
  #2 (permalink)  
Antiguo 15/08/2009, 22:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Que mide en realidad el offsetWidth?... no se porque sucede esto, Ayuda!!

como probablemente sabras, offsetWidth esta supuesto a devolver el ancho en pixeles de un elemento dado. ahora, en tu caso el problema no es el codigo sino el navegador. si compruebas el codigo en firefox y chrome veras que te devuelve el valor como debe. la explicacion se podria reducir a que los motores de "rederizacion" html (en otras palabras el user agent) no operan de la misma forma en cada navegador. un detalle adicional que puediera aplicar a tu caso. en el libro CSS: the definitive guide, habia leido que las tablas podrian considerarse un caso especial en cuanto se refiere a renderizacion. supone que las columnas pueden variar de ancho segun el contenido y por ello el navegador requiere primero analizar todo el contenido antes de mostrar la tabla. en el unico caso que esto puede variar es cuando se le aplica el estilo table-layout:fixed;. ahora bien, no confundas. no quiero decir que aplicando el estilo solucione tu problema. solo queria recalcar que este pudiera ser el caso de iexplorer.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 13/10/2009, 16:40
 
Fecha de Ingreso: diciembre-2008
Ubicación: Lima - Perú
Mensajes: 187
Antigüedad: 15 años, 4 meses
Puntos: 3
Respuesta: Que mide en realidad el offsetWidth?... no se porque sucede esto, Ayuda!!

Gracias, ya lo solucione
  #4 (permalink)  
Antiguo 29/10/2009, 13:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Que mide en realidad el offsetWidth?... no se porque sucede esto, Ayuda!!

Podrias decirnos como lo solucionaste?

Muchas gracias!

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 18:17.