#element {
height: expression((function(element) {
var x = window.setInterval (function () {
if (document.readyState.search (/loaded|complete/) > -1) {
window.clearTimeout (x);
$(element).height($(element).parent.height())
}
}, 50);
})(this));
}
Позвольте мне объяснить: во-первых, выражения плохие . Перейдите по ссылке Длаблина, чтобы прочитать почему. Вы должны рассмотреть другие методы. При необходимости приведенный выше фрагмент работает следующим образом:
Выражение сначала оценивается, как только читается CSS. Это означает, что DOM еще не готов, а jQuery, вероятно, еще не загружен.
Установить в качестве выражения анонимную функцию, которая выполняется мгновенно.
Эта функция доставляет текущий элемент как element
в содержащий код.
Мы устанавливаем интервал: проверять каждые 50 мс, готов ли DOM. Если это так, очистите интервал и запустите jQuery.
Примечание: Если вы сделаете это с лотами элементов, это действительно замедлит вашу страницу. Чтобы подчеркнуть это еще раз: не делайте этого дома, дети!