2016-07-25 71 views
0

有沒有辦法在基於一些Javascript表達式評估動態選擇的URL上添加<link rel="stylesheet" type="text/css">通過Javascript動態選擇CSS URL

(不使用jQuery或其他外部庫 - 我想,以避免對外部庫的依賴)

我特別想在或頁面加載的結果運行一些JavaScript代碼,而不是在以後的日子,但我確實希望確保已經替換或添加的CSS由於運行該Javascript而被加載。

+0

我很抱歉,如果這是重複的,我做了谷歌搜索,但並不是100%確定要尋找什麼。 –

+2

試試這個:http://stackoverflow.com/questions/2685614/load-external-css-file-like-scripts-in-jquery-which-is-compatible-in-ie-also – Toby

+0

這有幫助,我是尋找純Javascript的東西,沒有庫依賴。但我想我可以從那裏弄清楚,看起來不像jquery做什麼奇幻。 –

回答

2

試試這個:

功能:

function swapStyleSheet(sheet){ 
    document.getElementById('pagestyle').setAttribute('href', sheet); 
} 

激活:

<button onclick="swapStyleSheet('dark.css')">Dark Style Sheet</button> 
+0

顯然你可以使用window.onload來在頁面加載時運行,而不是按鈕。 – Toby

+0

'pagestyle'是一個標準的crossbrowser DOM元素嗎? –

+0

哦,別提了,你一定是說我把ID放在我想要的地方,然後用javascript。這很聰明。 –

2

歡迎您來試試這個功能。

function addStylesheet(file) { 
    var 
     head = document.getElementsByTagName("head")[0], 
     style = document.createElement("link"); 
    style.rel = "stylesheet"; 
    style.type = "text/css"; //optional 
    style.href = file; 
    head.appendChild(style); 
} 

addStylesheet("style.css");