Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript innerHTML错误IE8_Javascript_Html_Css_Xhtml_Innerhtml - Fatal编程技术网

Javascript innerHTML错误IE8

Javascript innerHTML错误IE8,javascript,html,css,xhtml,innerhtml,Javascript,Html,Css,Xhtml,Innerhtml,此innerHTML代码在IE8中工作不可靠: (但当时正在IE6 IE7 FF Opera Chrome Safari中工作) (通过不可靠地工作,我的意思是我将此代码放在各种元素上的onmouseover处理程序中,有时它会在鼠标移动到给定元素时更改文本,有时它不会-没有模式-它是否工作似乎完全是随机的) DOM方法(删除并重新添加带有更新文本的div)也没有帮助 因此,我在上述代码之后立即添加了此代码,并将其修复: document.styleSheets[0].addRule("#myd

此innerHTML代码在IE8中工作不可靠: (但当时正在IE6 IE7 FF Opera Chrome Safari中工作) (通过不可靠地工作,我的意思是我将此代码放在各种元素上的onmouseover处理程序中,有时它会在鼠标移动到给定元素时更改文本,有时它不会-没有模式-它是否工作似乎完全是随机的)

DOM方法(删除并重新添加带有更新文本的div)也没有帮助

因此,我在上述代码之后立即添加了此代码,并将其修复:

document.styleSheets[0].addRule("#mydiv:after", "content: ' ';");
使用条件注释,我将第二行代码标识为仅适用于IE8

我肯定这会节省人们很多时间,因为我已经在这上面浪费了很多时间! 甚至
Jquery.text()
也帮不上忙

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

不过,如果有人有更好的解决方案,我很想听听——谢谢


按要求编辑

您可以使用innerText代替innerHTML

欢迎使用SO。您能否指定在这种情况下“不可靠工作”的含义?为什么CSS规则会修复任何不起作用的东西?Bug报告和修复都很好,但它们需要一些基础工作。你确定没有任何重复的id或任何东西吗?您知道
getElementById(“mydiv”)
实际上返回了正确的domeElement吗?
innerText
不支持跨浏览器。
document.styleSheets[0].addRule("#mydiv:after", "content: ' ';");