Parece que en jQuery cuando un elemento no es visible width() devuelve 0. Tiene sentido, pero necesito obtener el ancho de una tabla para poder establecer el ancho del padre antes de mostrar el padre.jQuery - Obtenga el ancho del elemento cuando no sea visible (Pantalla: ninguna)
Como se indica a continuación, hay texto en el elemento primario que hace que el elemento primario se vea torcido y se vea desagradable. Quiero que el padre sea tan ancho como la tabla y tenga el texto ajustado.
<div id="parent">
Text here ... Can get very long and skew the parent
<table> ... </table>
Text here too ... which is why I want to shrink the parent based on the table
</div>
CSS:
#parent
{
display: none;
}
Javascript:
var tableWidth = $('#parent').children('table').outerWidth();
if (tableWidth > $('#parent').width())
{
$('#parent').width(tableWidth);
}
TABLEWIDTH siempre devuelve 0, ya que no es visible (es mi conjetura, ya que me da un número cuando no visible). ¿Hay alguna manera de obtener el ancho de la tabla sin hacer que el padre sea visible?
Eso funcionó a la perfección, gracias! – Martin
¿No hará esto que el navegador vuelva a dibujar la página dos veces? Si es así, esta es una solución subóptima. – marcusklaas
@Tim Banks muy bien! De hecho, escribí una extensión similar. Lo que he notado es un comportamiento muy extraño en ** Firefox **, width() devuelve 0, tanto para ti como para mi complemento. Y además de eso, nunca tiene en cuenta el relleno. http://jsfiddle.net/67cgB/. Me está costando mucho averiguar qué más podría hacer para solucionarlo. –