相信有很多做前端的朋友碰到過需要用 JavaScript 動態建立樣式表標籤-link標籤。這裡我們就來談談如何在瀏覽器中動態建立link標籤。
使用jQuery 建立link 標籤
如果你開發中喜歡用jQuery,那麼用jQuery在建立link標籤應該是這樣的:
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 建立link 標籤
如果你喜歡純天然的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])方法接受兩個參數,sURL就是CSS檔案的URL路徑。 iIndex 為可選參數,指插入的link在頁面中stylesheets collection的索引位置,預設是在最後新增建立的樣式。
基本上都介紹完了,來看看完整的解決方案:
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建立link標籤用法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!