since.2006  

在修改这个日志编辑器时碰到的问题,IE中innerHTML插入html代码如果混杂有css样式表,当css样式插入在元素最前面时,IE会忽略这个样式。

演示(下面代码在IE中字体将是黑色,而firefox中会正确的显示为红色):

<HTML>   
   
<DIV id=test></DIV>   
<SCRIPT>   
document.getElementById("test").innerHTML += "<style>b{color:red}</style><b>hello!World!!!</b>";    
</SCRIPT>   
   
<HTML>

其它参考:PJHome的使用innerHTML插入样式。不过感觉这篇文章中说的不是很正确。

文中提到“IE对这里的顺序要严格要求。必须先插入html内容然后再插入<style>样式才生效。这样test这个div 里就会出现一个红色的 hello!World! 但是如果把<style>放到<b>前头,就被IE无视了。”

感觉上说的是CSS样式表需要放在使用这个样式表的元素前面。而实际上,插入内容时,只要有任意一个其它html元素就行了,比如br,pre,div等。:)

 

Posted by hee at 21:04 PM | Permalink | 评论(0)