Я работаю над небольшим проектом, в котором будет переключаться режим светлого / темного, но я пытаюсь переключить класс в теге.
Так что я использую шрифт потрясающий для значки вот мой код:
HTML:
<i class="fas fa-moon" id="toggle"></i>
JS:
function classToggle() {
document.getElementById("toggle").classList.toggle('fas fa-moon');
document.getElementById("toggle").classList.toggle('fas fa-sun');
}
document.querySelector('#toggle').addEventListener('click', classToggle);
приведенный выше код дал мне ошибку:
InvalidCharacterError: Строка содержит недопустимые символы.
для JS Я также пробовал:
function classToggle() {
this.classList.toggle('fas fa-moon');
this.classList.toggle('fas fa-sun');
}
document.querySelector('#toggle').addEventListener('click', classToggle);
, но это тоже не работает и дал мне ошибка:
TypeError: undefined не является объектом (оценка 'this.classList.toggle')
Я получил код выше от https://codepen.io/jacknifey/pen/XWJaKZr и это сработало отлично, но как только я изменил имена классов на шрифт, классные, он перестал работать. Может быть, это как-то связано с SVG. Если так, то кто-нибудь может предложить альтернативный метод.
Будьте в безопасности, спасибо, Jam ie:)