使用text方法将css规则添加到样式元素在IE中不起作用

它在Firefox和Chrome中运行良好,但在IE8中不起作用。 这是html结构:

      $(function() { // this does not work in IE $('').text('body {margin: 0;}').appendTo('head'); });      

在IE中这样做的替代方法是什么?

这在IE7中对我有用:

 $('').appendTo($('head')); 

另一种可能更容易阅读的语法:

 $('head').append(''); 

但是,调用.text(val).html(val)来设置style标记的内容将导致抛出exception,因为它们设置了只读的innerHTML DOM属性。

这是IE的 innerHTML属性的文档 :

该属性是读/写的除以下所有对象,它是只读的:COL,COLGROUP,FRAMESET,HEAD,HTML,STYLE,TABLE,TBODY,TFOOT,THEAD,TITLE,TR。

我个人会这样做。

 var styles = { margin: '0', padding: '5px', border: 'solid 0px black' } $('body').css(styles); 

我对jQuery的依赖插件遇到了同样的问题,只需使用以下代码:

 $('head').append(''); 

那么你的代码几乎可以在所有浏览器中使用,这里“content”是你在外部定义的变量,它将包含你想要插入

标签的数据。 它肯定会奏效。

使用JQuery动态加载CSS文件。

 var link = $(""); link.attr({ type: 'text/css', rel: 'stylesheet', href:  }); $("head").append( link ); 

尝试: $('

').load("style.css",function(style){ $(data.appendTo).append('

'); });

尝试jQuery中的css函数:

 $( 'body' ).css( { margin: 0 } )