类似于以下功能的最佳方法是什么
可在所有浏览器中使用,特别适用于IE中的任何版本。
var head = document.head || document.getElementsByTagName('head')[0];
var style = document.createElement('style');
css = "some style here"
style.type = 'text/css';
if (style.styleSheet){
#Problem here: This is works for IE8 and below BUT not in higher version.
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
答案 0 :(得分:1)
如果没有css.styleSheet对象,也许尝试将css直接加载到标题中。
没有时间进行测试,但是我认为它应该可以工作。如果您有任何疑问,请询问。 :)
<script type="text/javascript">
function appendStyle(styles) {
var css = document.createElement('style');
css.type = 'text/css';
if (css.styleSheet) css.styleSheet.cssText = styles;
else css.appendChild(document.createTextNode(styles));
document.getElementsByTagName("head")[0].appendChild(css);
}
var styles = '#header { color: white }';
window.onload = function() { appendStyle(styles) };
</script>