4

这个 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()没有帮助!

我在别处读到 innerHTML 将更新 DOM 但可能无法更新屏幕元素。我相信 CSS 规则有效,因为它动态更改了 #mydiv 的 after 伪类的内容,因此需要更新 mydiv 的内容,从而更新屏幕(innerHTML 未能做到这一点)。

但是,如果有人有更好的解决方案,我很想听听 - 谢谢

按要求编辑

4

1 回答 1

-1

您可以使用 innerText 代替 innerHTML

于 2011-11-12T10:38:10.857 回答