2009-11-18 33 views
1
失败

我有下面的代码,它工作正常在FF和IE8,但在IE失败7人有一个想法或破解jQuery的一套DIV宽度在IE7

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

HTML是基本

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

开始CSS是

#midRight {width:440px;} 

IE7的JavaScript错误是“对象不支持此属性或方法。顺便说一句,如果我抛出一个ALE rt在宽度改变它工作正常。如果我将警报移到宽度更改后,它永远不会触发,至少我知道条件语句在IE7中正常工作,而不是宽度的变化。

+0

请添加更多的细节,如:HTML代码,你是什么意思,它失败了? – 2009-11-18 19:48:15

+0

哪一位失败 - if()或设置宽度? – Greg 2009-11-18 19:48:50

+1

与jQuery修改之前相比,需要更多的HTML和您拥有的#midCenter的CSS。 – a432511 2009-11-18 19:51:31

回答

5
$("#midCenter").css({width:298}); 
+0

要么是这个,要么$(“#midCenter”).css('width,'298px'); – powtac 2009-11-18 20:12:24

+0

非常奇怪我以为我试过所有可能的组合,但事实证明删除引号和px值解决了问题。 (“#midCenter”)。css({'width':298}); – Lance 2009-11-18 20:18:44

0

这可能是IE7处理用CSS设置宽度的方式中的一个错误。如果直接设置宽度,它会更好吗?

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

您是否在等待DOM完成加载?试试这个:

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