这个 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 未能做到这一点)。
但是,如果有人有更好的解决方案,我很想听听 - 谢谢
按要求编辑