2009-11-18 32 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}); 
});