就像一个单挑,我是一个非常初学者,所以在考虑为什么我正在以这种特殊的方式做我正在做的事情之前,我只是想清楚我只是在练习和试图掌握我能做什么和不能做什么,编写函数和使用方法。当然,我很乐意接受这样的建议:我只是不希望任何人因为我正在以最好的方式做事而陷入困境。关于这个问题。
总之,我正在尝试编写一些JS来交换CSS文件来更改网站上的主题。
这是HTML:
<div onclick="swapStyleSheet('css/styles-black.css')" class="onoffswitch">
<input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" checked>
<label class="onoffswitch-label" for="myonoffswitch"></label>
</div>
以下代码似乎有效:
function swapStyleSheet(sheet){
if (document.getElementById('pagestyle').getAttribute('href') == "css/styles-white.css") {
document.getElementById('pagestyle').setAttribute('href', "css/styles-black.css");
}
}
我会注意到,无论是直接设置“css / styles-black.css”还是通过函数调用传递参数,都可以正常工作(如HTML中所示)。
要从styles-black.css切换回styles-white.css,我添加了一个else语句:
function swapStyleSheet(sheet){
if (document.getElementById('pagestyle').getAttribute('href') == "css/styles-white.css") {
document.getElementById('pagestyle').setAttribute('href', "css/styles-black.css");
} else {
document.getElementById('pagestyle').setAttribute('href', "css/styles-white.css");
}
}
这不起作用,我试图找出原因。默认情况下,它设置为使用styles-white.css样式。我错过了什么?我觉得这是一件容易让初学者忽视的小事。
提前致谢。