2011-11-18 32 views
0

我試圖用removeClass()在我的HTML中的IE8和Firefox工作正常,但在IE7中失敗,刪除現有的類。當我在IE7中看到源代碼時,該類仍然存在。下面是我的代碼:的jQuery removeClass的onload不起作用在IE7

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> 
<head> 
    <script type="text/javascript" src="common/js/libs/jquery/jquery-1.3.2.js" ></script> 
    <script type="text/javascript"> 
     $(function(){ 
      $('#testdiv p').removeClass('testclass') 
     }); 
    </script> 
</head> 
<body> 
    <div id="testdiv"> 
     <p class="testclass">This is some test. on pageload, the class should be removed.</p> 
    </div> 
</body> 
</html> 

當我看到在IE7中源,我仍然看到類: IE7渲染:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> 
<head> 
    <script type="text/javascript" src="common/js/libs/jquery/jquery-1.3.2.js" ></script> 
    <script type="text/javascript"> 
     $(function(){ 
      $('#testdiv p').removeClass('testclass') 
     }); 
    </script> 
</head> 
<body> 
    <div id="testdiv"> 
     <p class="testclass">This is some test. on pageload, the class should be removed.</p> 
    </div> 
</body> 
</html> 
+0

源永遠不會改變jQuery。 DOM預計會發生變化。 – vcsjones

+0

除了沒有看到來源的變化(如上面和下面所述 - 是irelevent)是否會產生所需的效果?或者只是關於源的問題 – alonisser

+0

感謝您的信息。現在我發現問題不在於我的腳本,而在於我的CSS。 IE7和IE8的行爲不同。感謝您的幫助。 – user1054190

回答

1

查看頁面源是從實際檢測到所做的更改不同DOM。

如果要查看通過jQuery所做的更改,請使用DOM inspector中構建的瀏覽器檢查DOM。

右鍵單擊大多數瀏覽器,IE7/8/9中的F12,FireFox中的FireBug。

0

這是非常正確的。 jQuery將瀏覽器呈現的DOM(文檔對象模型)更改爲基於源的屏幕。源本身從不改變。

要查看DOM的內容,使用Firefox的擴展Firebug,或IE按F12開放的開發工具。在其他瀏覽器中還有其他方法可以看到DOM,但這是最常用的兩種方法。