簡體   English   中英

innerHTML錯誤IE8

[英]innerHTML bug IE8

此innerHTML代碼在IE8中無法可靠運行:(但在IE6 IE7 FF Opera Chrome Safari中運行)(由於無法可靠運行,我的意思是我已將此代碼放置在onmouseover處理程序中的各種元素上,有時它會在鼠標移動時更改文本在給定的元素上,有時不會-沒有模式-它是否起作用似乎完全是隨機的)

document.getElementById("mydiv").innerHTML="some text";

DOM方法(用更新后的文本刪除並重新添加div)也無濟於事。

因此,我在上面的代碼后立即添加了此代碼,並對其進行了修復:

document.styleSheets[0].addRule("#mydiv:after", "content: ' ';");

使用條件注釋,我確定了第二行代碼僅適用於IE8

我很肯定,因為我為此浪費了很多時間,這將為人們節省很多時間! 甚至Jquery.text()Jquery.text()

我在其他地方讀過,innerHTML將更新DOM,但可能無法更新屏幕元素。 我認為CSS規則之所以有效,是因為它動態地更改了#mydiv偽類之后的內容,因此需要更新mydiv的內容,從而更新了屏幕(innerHTML無法執行此操作)。

但是,如果有人有更好的解決方案,我很想聽聽-謝謝

根據要求編輯

您可以使用innerText代替innerHTML

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM