我正在尝试使用javascript
将一些样式添加到页面中var style = document.createElement("style"),
style.innerHTML = ".firstChildTest div:first-child {width: 2px;}";
但是ie6-8在尝试在样式元素上使用innerHTML时会抛出错误。我也使用
得到了同样的错误 style.append(document.createTextNode(".firstChildTest div:first-child {width: 2px;}"));
如何将样式注入ie?
中的样式元素答案 0 :(得分:0)
请在此处查看答案:How do you copy an inline style element in 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中的<p>
标记。没有它,IE不接受样式元素。
答案 1 :(得分:0)
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);
}