views:

696

answers:

3

I have the following code and it works correctly in FF and IE8 but fails in IE 7 anyone have an idea or hack

    if ($("#midRight:contains('Quick Links')").length == 0) {
  $("#midCenter").css({'width':'298px'});
 }

html is basic

    <div id="midRight">
bunch of text
</div>

the starting css is

#midRight {width:440px;}

IE7's javascript error is "Object doesn't support this property or method. BTW if I throw an alert in BEFORE the width change it works fine. If I move the alert to after the width change it never fires so at least I know that the conditional statement works right in IE7 just not the change of width.

+1  A: 
$("#midCenter").css({width:298});
Funky Dude
Either this, or $("#midCenter").css('width, '298px');
powtac
very strange I thought I had tried all possible combinations but turns out removing the quotes and the px from the value solved the problem.$("#midCenter").css({'width':298});
Lance
A: 

This may be a bug in the way IE7 handles setting the width with CSS. Does it work any better if you set the width directly?

if ($("#midRight:contains('Quick Links')").length == 0) {
    $("#midCenter").width(298);
}
Jack M.
A: 

Are you waiting for the DOM to finish loading? Try this:

$(function()
{
    if ($("#midRight:contains('Quick Links')").length == 0)
      $("#midCenter").css({'width': 298});
});
Greg