如何在IE8中动态创建CSS类

编程入门 行业动态 更新时间:2024-10-27 13:35:01
本文介绍了如何在IE8中动态创建CSS类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我需要使用JavaScript在IE8中动态创建一个CSS样式表类。

我为其他浏览器使用了以下代码:

var style = document.createElement('style'); style.type ='text / css'; style.innerHTML ='.cssClass {color:#F00; }'; document.getElementsByTagName('head')[0] .appendChild(style);

它在所有浏览器中工作正常,除了IE8。如何在IE8中实现相同?

解决方案

根据 MSDN :

innerHTML属性是read-只有在col,colGroup,frameSet,html,head,style,table,tBody,tFoot,tHead,title和tr对象。

更新:

您可以使用:

style.styleSheet.cssText =' .cssClass {color:#F00; }';

或进行测试:

if(style.styleSheet){ style.styleSheet.cssText ='.cssClass {color:#F00; }'; } else { style.appendChild(document.createTextNode('。cssClass {color:#F00;}')); }

希望现在运行! :)

I need to create a CSS stylesheet class dynamically using JavaScript in IE8.

I have used following code for other browsers:

var style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = '.cssClass { color: #F00; }'; document.getElementsByTagName('head')[0].appendChild(style);

it's working fine in all browsers except IE8. How to achieve the same in IE8?

解决方案

According to MSDN:

The innerHTML property is read-only on the col, colGroup, frameSet, html, head, style, table, tBody, tFoot, tHead, title, and tr objects.

So, try to use innerText to write these class.

Updated:

You can use:

style.styleSheet.cssText = '.cssClass { color: #F00; }';

Or do a test:

if (style.styleSheet){ style.styleSheet.cssText = '.cssClass { color: #F00; }'; } else { style.appendChild(document.createTextNode('.cssClass { color: #F00; }')); }

Hope, it now runs! :)

更多推荐

如何在IE8中动态创建CSS类

本文发布于:2023-10-06 19:24:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1467622.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:动态   如何在   CSS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!