3

我已經寫上Internet Explorer 8的一些非常簡單的代碼,我不明白爲什麼當我打開的IE(頁面爲什麼文本「測試」不會出現在什麼也沒有發生工作這一頁)。onload事件不與Internet Explorer

我試過在Firefox和Chrome和它完美的作品。

我的代碼:

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso 8859-1" /> 

    <script type="text/javascript"> 

    function display() { 
     output.innerHTML+='test'; 
    } 

    </script> 

    </head> 

    <body onload="display()"> 

     <div id="output"> 
     </div> 
    </body> 
</html> 

編輯:讓IE更改設置,不要用手做,或會很奇怪:-))

+0

正如已經在答案中提到的那樣,'document.getElementById'是從文檔中獲取元素句柄的常用方法。這對你有用嗎? http://jsbin.com/uqama4?它適用於我在Vista/IE 8 – 2011-05-11 13:40:55

+0

我會重新安裝IE 8,或升級到IE 9. – 2011-05-11 13:45:52

+0

在IE8中爲我工作正常。你在安裝IE或其他東西時把JS關閉了嗎? – ADW 2011-05-11 13:49:06

回答

3
document.getElementById('output').innerHTML += 'test'; 
+0

Internet Explorer和其他某些瀏覽器使用'id'作爲變量名自動將元素註冊爲全局變量,所以我看不到這樣可以解決問題。 – 2011-05-11 13:39:53

+0

@Andy E你說得對,它不會改變任何東西。順便說一下,我認爲我們觸及的是我之前發佈的問題的核心元素(http://stackoverflow.com/questions/5962647/javascript-code-not-displaying-wanted-output):-) 。 – Bruno 2011-05-11 13:42:10

+0

如果你無法在所有瀏覽器中依賴它,這不是一個好的解決方案。 document.getElementById()是正確的方法。更好的是,使用jQuery,即$('#output')。html('test'); – 2011-05-11 13:42:22

3

嘗試:

function display() { 
     document.getElementById('output').innerHTML+='test'; 
    } 
+0

@Bruno在訪問html時是否允許阻止內容?確保Active-X已啓用。 – kjy112 2011-05-11 13:47:18