使用Javascript为样式切换器添加样式表的最佳方法?

使用Javascript为样式切换器添加样式表的最佳方法?,javascript,html,css,performance,Javascript,Html,Css,Performance,我正在为我的网站做一个风格转换。我能够让它使用.append()和if和else语句。代码如下: HTML <select name="active_style" id="lol" class="dropdownselect" > <option value="default" selected="selected">Default</option> <option value="dark" selected="selected">

我正在为我的网站做一个风格转换。我能够让它使用
.append()
if和else
语句。代码如下:

HTML

<select name="active_style" id="lol" class="dropdownselect" >
    <option value="default" selected="selected">Default</option>
    <option value="dark" selected="selected">Dark</option>
</select>

违约
黑暗的
Javascript

$(document).ready(function() {

    var item = window.localStorage.getItem('active_style');
    $('select[name=active_style]').val(item);

    $('select[name=active_style]').change(function() {
       window.localStorage.setItem('active_style', $(this).val());
    });

    if (item == "dark") {
        $("head").append('<link rel="stylesheet" type="text/css" id="gdgt-dark" href="LINK");
    };
});
$(文档).ready(函数(){
var item=window.localStorage.getItem('active_style');
$('select[name=active_style]').val(项目);
$('select[name=active_style]')。更改(函数(){
window.localStorage.setItem('active_style',$(this.val());
});
如果(项目==“暗”){

$(“head”).append(“您自己已经回答了您的问题。您希望异步加载CSS文件

1) 您可以使用Filames Group制作的loadCSSPlugin来实现这一点

2) 如果您不想使用此插件,还有另一种方法。您可以在加载功能中设置一个时间延迟,并显示加载图标。(更改CSS…)


3) 您还可以使用AJAX加载CSS文件。在这里您可以找到如何加载()。您还可以使用AJAX()的
success
方法进行后期处理。

不要为此使用jQuery,加载需要一些时间。 纯JS将更快:

var head= document.getElementsByTagName('head')[0];
var link= document.createElement('link');
link.type= 'text/css';
link.rel= 'stylesheet';
link.href= 'style.css';
head.appendChild(link);

不要把
$(“head”)。追加(
文档中的一部分。准备好了
,直接放在正文中,最好是正文中的第一件事。你也可以隐藏正文内容。我尝试了你的代码,但没用。下面是我放在我的
后面的代码:对不起,对于
链接
标记,你需要
href
,而不是
src
。)这是我的答案。