Вы делаете это неправильно:
Это ваш код (объяснено)
<script>
function swapStyleSheet(sheet) {
// This is expecting a parameter (the stylesheet you want, I suppose)
if (document.getElementById("lightSwitch").checked == true) {
document.getElementById("pageStyle").set.Attribute('href', sheet) = "dark.css"; //Here you are, first, invoking a function (wrong function because it's setAttribute and not set.Attribute) and then assigning it a value "dark.css"
}
else {
document.getElementById("pageStyle").set.Attribute('href', sheet) = "style.css";
//Same here
}
}
</script>
Ваш код должен выглядеть примерно так (есть несколько способов присоединить слушатели событий, но этоследует той же структуре, что и вы):
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Normal Title</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link id="pageStyle" rel="stylesheet" href="style.css">
<script>
function swapStyleSheet(sheet) {
if (document.getElementById("lightSwitch").getAttribute('checked') === true) {
document.getElementById("pageStyle").setAttribute('href', "dark.css");
}
else {
document.getElementById("pageStyle").setAttribute('href', "style.css");
}
}
</script>
</head>
<body>
<input onclick="swapStyleSheet()" id="lightSwitch" type="checkbox" name="lightSwitch">
</body>