$("head").append('<link href="xxx.css" rel="stylesheet" type="text/css"/>');
我发现这个代码片段在 IE 8 中不起作用?
最佳答案
根据this 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');
尽管他接着说,通过 @import 包含在附加 css 文件中的任何文件也不会按预期加载。
我建议尝试一下这些测试用例,看看哪些内容适合您,哪些内容不适合(如果有效,您应该在 HTML 窗口中看到灰色背景):
OP问题中使用的方法:http://jsfiddle.net/vs5NC/20/
我的回答中的第一个可能的解决方案:http://jsfiddle.net/vs5NC/17/
我的回答中的第二个可能的解决方案:http://jsfiddle.net/vs5NC/19/
如果这些都不起作用,则可能是 Chris Fulstow 的 answer对于类似的问题可能是一个可行的解决方案。
关于jquery - 附加 CSS 在 IE8 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963572/