$("head").append('<link href="xxx.css" rel="stylesheet" type="text/css"/>');
我发现这个片段在 IE 8 中不起作用?
根据jquery 网站上的这个错误报告,IE8 中很可能存在将 css 文件附加到包含相对链接的 dom 的问题。
该错误的发布者建议按如下方式添加它可能会起作用:
var style = document.createElement("link");
style.setAttribute("type", "text/css");
style.setAttribute("rel", "stylesheet");
style.setAttribute("href", "xxx.css");
jQuery("head")[0].appendChild(style);
或者使用绝对 url 也可以工作:
$('<link rel="stylesheet" type="text/css" href="http://yoursite.com/css/xxx.css">').appendTo('head');
</p>
尽管他接着说附加的 css 文件中通过 @import 包含的任何文件也不会按预期加载。
我建议试一试这些测试用例,看看哪些内容适合您,哪些不适合(如果它有效,您应该在 HTML 窗口中获得灰色背景):
OP问题中使用的方法:http: //jsfiddle.net/vs5NC/20/
我的回答中的第一个可能的解决方案:http: //jsfiddle.net/vs5NC/17/
我的回答中的第二种可能的解决方案:http: //jsfiddle.net/vs5NC/19/
如果这些都不起作用,那么 Chris Fulstow对类似问题的回答可能是一个可行的解决方案。