Я знаю, что это старая ветка, но я попал сюда из поиска Google, поскольку у меня возникла та же проблема. Я попытался использовать выражение для IE, но моя проблема в том, что мне нужно динамически вычислять максимальный размер изображения при изменении размера страницы. У меня нет контроля над размерами изображений на сервере, поэтому я вынужден пойти по этому пути.
В конце я добавил функцию, которую я вызываю, когда страница закончила загрузку (используя $ (document) .ready (), так как это не ждет загрузки изображений, только DOM). Затем я вызываю ту же функцию при изменении размера страницы. Код, который я использовал для установки максимальной ширины на изображениях:
// Calculate the max width that the images can be
var maxWidth = $('#some-container').width();
// Make sure the div that contains the image is set to this maxWidth
$('#someDiv').width(maxWidth);
// Set the max width using CSS for nice standards compliant browsers
$('#someDiv img').css('max-width', maxWidth);
// For non-compliant browsers like IE, iterate over all the images and manually set their size (should probably only do this for IE, but doesn't hurt)
$('#someDiv img').each(function(index) {
if ($(this).width() > maxWidth){
$(this).width(maxWidth);
}
});