1
$("head").append('<link href="xxx.css" rel="stylesheet" type="text/css"/>');

我发现这个片段在 IE 8 中不起作用?

4

1 回答 1

6

根据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对类似问题的回答可能是一个可行的解决方案。

于 2012-08-15T03:16:01.263 回答