1

我正在制作一个缩放按钮来添加和删除 CSS 文件,但由于某种原因,我似乎无法在 IE 8 中添加它

首先我试过这个

document.createStyleSheet('style/zoom.css');

鉴于 jquery 解决方案

$("head").append($("<link my style sheet />"));

通过我的测试似乎只适用于 FF 和 IE9

我检查了溢出并找到了这个解决方案

 $('#zoomlink').replaceWith($('<link>', {
        id: 'zoomlink',
        href: 'style/zoom.css',
        type: 'text/css',
        rel: 'stylesheet' 
 }));

但是仍然找不到爱,所以我很沮丧地找到了这个

var $link = $('&lt;link&gt;');
    $('head').add($link);
    $link.attr({
      type: 'text/css',
      href: 'style/zoom.css',
      type: 'text/css',
      rel: 'stylesheet',
      media: 'screen'
});

我不确定这是否会起作用,但最后我决定是时候简单地发布一个问题了。

我仍然不确定以后如何通过 javascript 删除样式表,但我需要首先确定如何在 IE 8 中添加新样式表。

4

2 回答 2

4

也许这会有所帮助(抱歉,无法在 IE8 中尝试):

(function() {
    var s  = document.createElement('link');
    s.type = 'text/css';
    s.rel  = 'stylesheet';
    s.href = 'http://yourdomain.com/style.css';
    document.getElementsByTagName("head")[0].appendChild(s);
})();
于 2012-09-25T19:30:32.660 回答
1

要删除它,我会假设一个简单的remove()工作

$("#zoomlink").remove();

要使用 jQuery 使用以下语法添加新链接:

$("head").append(unescape("%3Clink id='zoomlink' rel='stylesheet' type='text/css' href='style/zoom.css'%3E%3C/link%3E"));

或使用纯 JavaScript

var e = document.createElement('link');
e.id = 'zoomlink'
e.rel = 'stylesheet';  
e.type='text/css';
r.href='style/zoom.css'
document.getElementsByTagName("head")[0].appendChild(e);

还有很多其他的写法,但思路是一样的,删除旧的引用元素并添加一个新的。

于 2012-09-25T19:30:24.070 回答