在页面上添加样式标签

| 我正在尝试使用javascript向页面添加一些样式
var style = document.createElement(\"style\"),
style.innerHTML = \".firstChildTest div:first-child {width: 2px;}\";
但是,当尝试在样式元素上使用innerHTML时,ie6-8会引发错误。我也使用相同的错误
 style.append(document.createTextNode(\".firstChildTest div:first-child {width: 2px;}\"));
如何在ie中将样式注入样式元素?     
已邀请:
在这里查看答案:如何在IE中复制内联样式元素?
function copy_style(style_text) {    
    var tmp_div = document.createElement(\'div\');
    tmp_div.innerHTML = \'<p>x</p><style type=\"text/css\">\' + style_text + \'</style>\';

    return tmp_div.getElementsByTagName(\'style\')[0];
}
请注意,您需要tmp_div的innerHTML中的“ 3”标记。没有它,IE将不接受样式元素。     
#9之前的IE无法使用childNodes向样式(或脚本或选项)元素添加文本, 并且样式应该在html文档的开头。
function addStyle(str){
    var el= document.createElement(\'style\');
    if(el.styleSheet) el.styleSheet.cssText= str;
    else{
        el.appendChild(document.createTextNode(str));
    }
    return document.getElementsByTagName(\'head\')[0].appendChild(el);
}
    

要回复问题请先登录注册