附加CSS在IE8中无法正常工作

时间:2012-08-15 03:00:26

标签: jquery css

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

我发现这个代码段在IE 8中无效?

1 个答案:

答案 0 :(得分:6)

根据jquery网站上的this错误报告,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);

或者使用绝对网址也可能有效:

    $('<link rel="stylesheet" type="text/css" href="http://yoursite.com/css/xxx.css">').appendTo('head');

虽然他继续说在附加的css文件中通过@import包含的任何文件也不会按预期加载。

我建议给这些测试用例一个旋转,看看你有什么负载,什么没有(如果它有效,你应该在HTML窗口中得到灰色背景):

OP问题中使用的方法:http://jsfiddle.net/vs5NC/20/

我的回答中的第一个可能的解决方案:http://jsfiddle.net/vs5NC/17/

我的回答中的第二个可能的解决方案:http://jsfiddle.net/vs5NC/19/

如果这些都不起作用,Chris Fulstow answer对类似问题的解答可能是一个可行的解决方案。