2011-09-01 119 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