2011-09-01 110 views
2

我需要使用外部JavaScript文件在我的標題中添加一個鏈接到外部CSS文件。不要問爲什麼;我只需要這樣做。 document.write()不能順利工作。使用JavaScript添加外部樣式表

+0

您應該可以了'link'節點添加到DOM一樣的,你還要加上'p'或'div'節點到文檔中。你嘗試過嗎?問題是風格是否會被應用。我真的不知道......好問題。有人在這裏試過:http://stackoverflow.com/questions/512070/add-a-link-stylesheet-dynamically-in-the-head –

+0

@Ray Toal - yup,插入鏈接元素後會應用樣式在頭上。 – Ben

+0

並不總是在IE中。 –

回答

10
var element = document.createElement("link"); 
element.setAttribute("rel", "stylesheet"); 
element.setAttribute("type", "text/css"); 
element.setAttribute("href", "external.css"); 
document.getElementsByTagName("head")[0].appendChild(element); 
+0

請注意,IE瀏覽器並不總是滿意這種方式插入'link'標籤。檢查'document.createStylesheet'並在出現時使用。 –

+0

老實說,我不在乎IE太多,所以不是問題。謝謝Ben! –

+1

@Howdy_McGee - 沒問題。 – Ben

1

替代一個班輪:

document.head.insertAdjacentHTML('beforeend', '<link rel=stylesheet href=/ext.css>'); 
+0

好!這是迄今爲止我發現的最新解決方案:) – waldyrious