更改样式表javascript

Ben*_*nji 12 javascript

我有这个HTML代码:

<head>
    <script type="application/javascript" src="javascript.js">
    <link id="pagestyle" href="default.css" rel="stylesheet" type="text/css" />
</head>
<body>
    <button id="stylesheet1" > Default Style Sheet </button>
    <button id="stylesheet2" > Dark Style Sheet </button>
</body>
Run Code Online (Sandbox Code Playgroud)

在javascript.js我得到了这个:

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

function initate() {
    var style1 = document.getElementById("stylesheet1");
    var style2 = document.getElementById("stylesheet2");

    style1.onclick = swapStyleSheet("default".css);
    style2.onclick = swapStyleSheet("dark".css);
}

window.onload = initate;
Run Code Online (Sandbox Code Playgroud)

我希望在按下此按钮时更改样式表.我无法弄清楚它为什么不起作用.

Emi*_*nov 8

一个猜测是缺少.css属性,另一个onclick是不是函数的事实,而是调用一个函数的结果:

创建所有.css字符串并将函数分配给onclick:

style1.onclick = function () { swapStyleSheet("default.css") };
style2.onclick = function () { swapStyleSheet("dark.css"); };
Run Code Online (Sandbox Code Playgroud)