Javascript不改变背景

Javascript不改变背景,javascript,html,background-color,Javascript,Html,Background Color,我想更改我的列表背景,但它不起作用 我的代码: change(num, element){ var text if (num == 1){ ... } else if (num == 2) { ... } else { ... } document.getElementById('text').innerHTML = text; document.getElementByClass("left").style.backgroundColor = "black"; //<------

我想更改我的列表背景,但它不起作用

我的代码:

change(num, element){
var text

if (num == 1){ ... }
else if (num == 2) { ... }
else { ... }

document.getElementById('text').innerHTML = text;

document.getElementByClass("left").style.backgroundColor = "black"; //<------ 
element.style.backgroundColor = "white";                            //<------
}
和我的html:

<ul>
   <li><a class="left" href="#" onclick="change(1,this)>First</a></li>
   <li><a class="left" href="#" onclick="change(2,this)>Second</a></li>
   <li><a class="left" href="#" onclick="change(3,this)>Third</a></li>      
</ul>
当我点击我的一个列表元素时,文本会改变,但背景颜色不会改变

我怎样才能解决这个问题


谢谢,

没有getElementByClass这样的函数,只有getElementsByCassName,它返回一个数组。您需要选择要从此阵列中更改的一个,或使用ids打开浏览器的开发人员工具。看看控制台。阅读错误消息。调用实际存在的函数!然后看第二个问题的重复问题。正确:document.getElementsByClassName,它返回您正在使用的数组document.getElementByClassNamemissing@DineshPatra-getElementsByClassName不返回数组,只是在某些方面类似于数组的东西。@Quentin,在这个页面的控制台中,由于有一个类名为“default”的元素,我尝试了这种类型的文档;它正在返回对象,但我需要通过文档访问innerHTML。getElementsByClassName'default'[0]。innerHTML;所以我认为它的数组也和它说的数组一样object@DineshPatra-如果您尝试数组的document.getElementsByClassName'default'实例,那么您将看到它不是数组。如果您尝试document.getElementsByClassName'default'。forEach。。。然后它会出错,但所有数组都有一个forEach方法。它不返回数组。