使用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 } )