Wygląda na to, że w jQuery, gdy element nie jest widoczny, width () zwraca 0. Ma to sens, ale muszę uzyskać szerokość tabeli, aby ustawić szerokość elementu nadrzędnego, zanim pokażę go.
Jak zauważono poniżej, w rodzicu znajduje się tekst, który sprawia, że rodzic wypacza się i wygląda paskudnie. Chcę, aby rodzic był tak szeroki jak stół i zawijany tekst.
<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 zawsze zwraca 0, ponieważ nie jest widoczne (jest to moje przypuszczenie, ponieważ daje mi liczbę, gdy jest widoczna). Czy istnieje sposób, aby uzyskać szerokość stołu bez pokazywania rodzica?