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 に答える