$("head").append('<link href="xxx.css" rel="stylesheet" type="text/css"/>');
我发现这个代码段在IE 8中无效?
答案 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对类似问题的解答可能是一个可行的解决方案。