使用JavaScript链接CSS?

使用JavaScript链接CSS?,javascript,css,Javascript,Css,不确定这是否可行,我已经进行了快速搜索,但没有找到适合我的内容,所以我想知道是否可以通过JavaScript链接CSS文件 因此,基本上,当我使用一段特定的JS时,我想调用一个样式表 这可行吗?是的,完全可行 最简单的解决方案是在html文件的头部有一个脚本,或者使用如下代码从该头部调用脚本: document.write('<link rel="stylesheet" type="text/css" href="'+path+'"/>'); 不要滥用它。主要的用例是皮肤,但它显然

不确定这是否可行,我已经进行了快速搜索,但没有找到适合我的内容,所以我想知道是否可以通过JavaScript链接CSS文件

因此,基本上,当我使用一段特定的JS时,我想调用一个样式表


这可行吗?

是的,完全可行

最简单的解决方案是在html文件的头部有一个脚本,或者使用如下代码从该头部调用脚本:

document.write('<link rel="stylesheet" type="text/css" href="'+path+'"/>');
不要滥用它。主要的用例是皮肤,但它显然有成本,特别是当您调用外部脚本时。

尝试以下方法:

$("head").append("<link id='yournewcss' href='hi-res.css' type='text/css' rel='stylesheet' />");
document.head.insertAdjacentHTML('beforeend', "<link href='my.css' type='text/css' rel='stylesheet' />");
这将在元素的末尾添加一个新的css链接,而不会以任何方式干扰DOM

它不会重新分析正在使用它的元素,因此不会损坏元素中的现有元素。这样,避免了额外的序列化步骤,使其比直接的innerHTML操作快得多。-developer.mozilla.org


是一个相对未知的函数,但支持良好。

您可以在特殊情况下定义规则,以便在需要时加载css或js asynchonouslike@martynas想要动态加载CSS并不奇怪。我认为仅为如此简单的DOM操作使用jQuery有点过分。令人难以置信的是,使用jQuerydocument.write可能不是一个好选择,因为如果在页面加载后执行此操作,则会删除页面。@npup如果在头部执行此操作,则会有什么问题?这是最好的解决方案,因为您希望在呈现页面之前加载CSS。是的,但是如果您希望在即将使用某个小部件或其他东西时动态加载CSS,头部可能会被呈现很久。OP没有明确说明这一点,但仅仅想在头部使用脚本标记而不是样式标记是没有用的,因此..我宁愿看到dome DOM操作是的,甚至在头部,甚至是innerHTML,而不是.write。write就像html操作的eval…就像eval一样,它有一些用例。不要只遵守像评估是邪恶的规则,要学会限制,要小心。在这里更改DOM不是一个好主意。