views:

331

answers:

3

After upgrading to jQuery 1.4, when I try to add an image to a page dynamically using jQuery 1.4 in IE8, the image will lose the correct aspect ratio. This appears to affect only IE8 (IE7 and Firefox work fine) with jQuery 1.4 (1.3.2 works fine). Including the jQuery compatability file does not fix the problem.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js" language="javascript"
        type="text/javascript"></script>
    <!-- Switching to 1.3.2 fixes the problem -->
    <!--<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" language="javascript"
        type="text/javascript"></script>-->
    <script type="text/javascript">
        $(document).ready(function() {
            var dynImg = $('<img></img>').attr('src', 'http://www.google.com/intl/en_ALL/images/logo.gif');
            $('body').append(dynImg);
        });
    </script>
    <style type="text/css">
        img
        {
            max-width: 5em;
        }
    </style>
</head>
<body></body></html>
+1  A: 

I have the same problem. Downgrade until it's fixed. If it is possible...

Dan
I was hoping for an easy work-around. I guess I can downgrade for now though. Thanks.
Chris
A: 

set css zoom attribute.

img {
    zoom: 100%;
}

pyke
This did nothing to fix my problem.
Chris
A: 

Based on http://stackoverflow.com/questions/1771176/ie8-non-compatibility-mode-image-with-max-width-and-heightauto I was able to fix my problem by adding

img {
    width: auto; 
    height: auto;
}

to my css.

Chris