Похоже, что в jQuery, когда элемент невидим, width() возвращает 0. Имеет смысл, но мне нужно получить ширину таблицы, чтобы установите ширину родителя, пока я не покажу родительский.jQuery - получить ширину элемента, если он не отображается (отображается: нет)
Как указано ниже, в родителе есть текст, который делает родительский перекос и выглядит отвратительным. Я хочу, чтобы родитель был только таким же широким, как и таблица, и имел обертку текста.
<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 всегда возвращает 0, так как не видно (это мое предположение, так как это дает мне номер, когда видимый). Есть ли способ получить ширину таблицы без видимости родителя?
Это работало отлично, спасибо! – Martin
Не заставит ли браузер дважды перерисовать страницу? Если это так, это субоптимальное решение. – marcusklaas
@Tim Banks очень приятно! На самом деле я написал подобное расширение. То, что я заметил, очень странное поведение в ** Firefox **, width() возвращает 0, для вашего и моего плагина оба. И, кроме того, он никогда не влияет на заполнение. http://jsfiddle.net/67cgB/. У меня самое сложное время выяснить, что еще можно сделать, чтобы исправить это. –