多くのフロントエンドの友人は、JavaScript を使用してスタイル シート タグ (リンク タグ) を動的に作成する必要性に遭遇したことがあると思います。ここでは、ブラウザでリンクタグを動的に作成する方法について説明します。
jQuery を使用してリンク タグを作成します
開発で jQuery を使用する場合、jQuery を使用してリンク タグを作成すると次のようになります:
var cssURL = '/style.css', linkTag = $('<link href="' + cssURL + '" rel="stylesheet" type="text/css" media="' + (media || "all") + '" charset="'+ charset || "utf-8" +'" />'); // 请看清楚,是动态将link标签添加到head里 $($('head')[0]).append(linkTag);
ネイティブ JavaScript を使用してリンク タグを作成します
純粋な性質の JavaScript と同様に、次のように記述する必要があります:
var head = document.getElementsByTagName('head')[0], cssURL = '/style.css', linkTag = document.createElement('link'); linkTag.id = 'dynamic-style'; linkTag.href = cssURL; linkTag.setAttribute('rel','stylesheet'); linkTag.setAttribute('media','all'); linkTag.setAttribute('type','text/css'); head.appendChild(linkTag);
IE の独自メソッド createStyleSheet
IE の createStyleSheet メソッドの独自メソッドも非常に便利です。
var head = document.getElementsByTagName('head')[0], cssURL = 'themes/BlueNight/style.css', // document.createStyleSheet 的同时就已经把link标签添加到了head中了,怎么讲呢,倒是挺方便 linkTag = document.createStyleSheet(cssURL);
createStyleSheet([sURL] [, iIndex]) メソッドは 2 つのパラメーターを受け入れます。sURL は CSS ファイルの URL パスです。 iIndex はオプションのパラメータで、ページ上のスタイルシート コレクションに挿入されたリンクのインデックス位置を参照します。デフォルトでは、新しく作成されたスタイルが最後に追加されます。
基本的には導入が終わりました。完全なソリューションを見てみましょう:
function createLink(cssURL,lnkId,charset,media){ var head = $($('head')[0]), linkTag = null; if(!cssURL){ return false; } linkTag = $('<link href="' + cssURL + '" rel="stylesheet" type="text/css" media="' + (media || "all") + '" charset="'+ charset || "utf-8" +'" />'); head.append(linkTag); } function createLink(cssURL,lnkId,charset,media){ var head = document.getElementsByTagName('head')[0], linkTag = null; if(!cssURL){ return false; } linkTag = document.createElement('link'); linkTag.setAttribute('id',(lnkId || 'dynamic-style')); linkTag.setAttribute('rel','stylesheet'); linkTag.setAttribute('charset',(charset || 'utf-8')); linkTag.setAttribute('media',(media||'all')); linkTag.setAttribute('type','text/css'); linkTag.href = cssURL; head.appendChild(linkTag); }
以上がjsとjqueryを使ってリンクタグを作成する使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。