我正在寻找一种方法,使用Javascript动态地将样式附加到我的样式表。


在今天的浏览器中,我可以使用它作为例子:
&#XA;&#XA;<代码>&LT;风格&GT;&#XA; #ID {背景色:#F00;颜色:#000;}&#XA;&LT; /风格&GT;&#XA ;&lt; div ID =“id”&gt; Test1&lt; / div&gt;&#xA;&lt; div ID =“id2”&gt;测试&lt; / div&gt;&#xA;&lt; script&gt;&#xA; document.getElementById ( 'ID')的innerHTML + = “#ID2 {颜色:#00F}”;。&#XA;&LT; /脚本&GT;&#XA; 代码>&#XA;&#XA;
由于javascript,上面会将Test的颜色从黑色更改为蓝色,但此代码不适用于Internet Explorer 7等旧版浏览器。
&#xA;&#xA;Internet资源管理器7,我将问题缩小到这样一个事实,即当它需要设置样式元素的innerHTML值时,它会在左下角产生一个javascript警告符号。
&#xA;&#xA; < p>我尝试更换:&#xA;&#xA; document.getElementById('ID')。innerHTML + =“#id2 {color:#00F}”;&#xA; 代码>
&#XA;&#XA; 使用:
&#XA;&#XA;<代码>的document.getElementById( 'ID')的appendChild(document.createTextNode( “#ID2 {颜色:#00F}”))。 ;&#xA;&#xA;&#xA;
我仍然不成功。
&#xA;&#xA;我需要javascript for这是因为我想一次为多个元素设置背景图像,并且通过在CSS代码中进行夯实,我只能调用一次图像。如果我为每个元素使用本机javascript属性,那么我会经历许多元素以及多次请求加载相同元素,如果IE对缓存不好,那么负担将放在服务器上。 / p>&#xA;&#xA;
在Javascript中我可以做什么来将CSS数据附加到与IE 7一起使用的样式元素?我正在寻找简单的东西。
&#xA;答案 0 :(得分:0)
好吧,我回到过去的日子,并设法在IE 7中解决这个问题:
document.write('<style>'+d+'</style>');
变量d是要插入的实际规则。
我理解这是一个较慢的方法,因为它会创建大量的<style>
标记,这是不好的HTML练习,但这个想法适用于IE7。