Одна мысль приходит на ум:
Сохраните .width()
Проверьте элемент .width()
.Если это изменилось, это зависело от содержания.Если это не изменилось, это было установлено, используя CSS.
Восстановите детское свойство display
или переместите его обратно, если необходимо.
Здесь - это очень примитивный прототип, который просто удаляет все содержимое элемента:
function determineWidth(jQueryElement)
{
var widthBefore = jQueryElement.width();
jQueryElement.html(""); // Empty the element
var widthAfter = jQueryElement.width();
if (widthAfter != widthBefore)
var result = "The width depended on the content.";
else
var result = "The width did NOT depend on the content.";
alert("Before: "+widthBefore+" After: "+widthAfter+" - "+result);
}
У элементов уровня блока есть один побочный эффект: поскольку их ширина не зависит от содержимого, скрипт вернется "...did not зависимость .... ", даже если для элемента не задана явная ширина в CSS, как вам требуется.