使用Javascript更改类时出现问题

使用Javascript更改类时出现问题,javascript,html,css,function,class,Javascript,Html,Css,Function,Class,因此,我在让JavaScript保持元素的类更改方面遇到了问题。每当我尝试将元素的类更改为“overlist”时,它都会工作不到一秒钟,然后将其恢复到原始状态underlist。我想不出一个办法,让全班都留下来 HTML: Javascript: function activateTutorials(){ if(document.getElementsByClassName('Tutorials').classList.contains('underlist')){ document.getEl

因此,我在让JavaScript保持元素的类更改方面遇到了问题。每当我尝试将元素的类更改为“overlist”时,它都会工作不到一秒钟,然后将其恢复到原始状态underlist。我想不出一个办法,让全班都留下来

HTML:

Javascript:

function activateTutorials(){
if(document.getElementsByClassName('Tutorials').classList.contains('underlist')){
document.getElementsByClassName('Tutorials').classList.remove('underlist');
}否则{
document.getElementsByClassName('Tutorials').classList.add('underlist');
}
};
一些调试思路: 首先,您应该检查函数是否正在运行(这不是为我准备的) 我这样修改它:

<a href="#" onClick="javascript:activateTutorials();" class="Tutorials">Tutorials</a>
function activateTutorials(){
console.log(document.getElementsByClassName('Tutorials'));
    if(document.getElementsByClassName('Tutorials')[0].classList.contains('underlist'))
 {
     document.getElementsByClassName('Tutorials')[0].classList.remove('underlist');
 }else{
     document.getElementsByClassName('Tutorials')[0].classList.add('underlist');
 }
};

您可能已经注意到函数开头有一个console语句,它是一种调试方法(在chrome中,使用Ctrl+Shift+J访问它)。

这是正确的代码吗?在任何情况下,都不会将
underlist
更改为
overlist
。对不起,请稍候,我以为我复制了整个部分。我的错。编辑:我忘记了函数末尾的括号,但是如果你能解释为什么它不会改变,我会非常感激,我对学习改变类相当陌生。没有一个Javascript代码会在任何东西上添加“overlist”。它只是添加或删除“参考底图”。我的意思是,从字面上看,“overlist”一词在代码中没有出现。是的,我刚刚意识到,并且意识到我没有键入我的目标,谢谢。只是一个建议:如果你刚刚开始,你可能会发现从学习jQuery库开始,然后再回到vanilla JS中的DOM操作更容易。使用jQuery,可以编写该函数(假设您给
a
id'underlistToggle')
$(“a#underlistToggle”)。单击(function(){$(“.Tutorials”).toggleClass(“underlist”);}。只是一个建议和个人意见——再说一次,我知道您可能不想使用jQuery有很多原因。
function activateTutorials(){
console.log(document.getElementsByClassName('Tutorials'));
    if(document.getElementsByClassName('Tutorials')[0].classList.contains('underlist'))
 {
     document.getElementsByClassName('Tutorials')[0].classList.remove('underlist');
 }else{
     document.getElementsByClassName('Tutorials')[0].classList.add('underlist');
 }
};