这是我的代码的一部分:
想法是改变例如您可以在函数fu()中看到带有类“ navicon”的两个字段的backgroundcolor,但是它不起作用,也不能以此方式工作。更改ID的颜色没有问题,但是我不想为任何按钮指定特定的ID。我的错误和误解在哪里?谢谢!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<! <link rel="stylesheet" href="css/navside.css" type="text/css">
<style>
.navside {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
.navside a {
float: center;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.navside a:hover {
background-color: #ddd;
color: black;
}
</style>
</head>
<body>
<script>
function fun(){
document.getElementById("demo").style.backgroundColor="red";
function fu(){
var all = document.getElementsByClassName('navicon');
for(var i=0;i<all.length;i++){
all[i].style.backgroundColor='red';
}
}
}
</script>
<div class="navside">
<a class="navicon" id="demo" href="#bla" onclick="fun()" >Text1</a><br>
<a class="navicon" href="#blubb" onclick="fu()">Text2</a>
</div>
</body>
</html>
最佳答案
问题是您将fu()
的定义放在fun()
内,因此不能从全局范围调用它。似乎没有必要将其用作局部函数,我想这只是一个错误。全局定义它们。
function fun(){
document.getElementById("demo").style.backgroundColor="red";
}
function fu(){
var all = document.getElementsByClassName('navicon');
for(var i=0;i<all.length;i++){
all[i].style.backgroundColor='red';
}
}
您应该从Javascript控制台中的错误消息(该函数
fu
不存在)中获得有关此问题的线索。