需要在外层DOM设置id。
选中当前li改变颜色,删除其他li的选中样式。再次点击选中的li,将去除选中样式。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
.active{
color:brown;
}
</style>
</head>
<body>
<div>
<ul id="menu">
<li class="active" onclick="setStyle(event)">首页</li>
<li onclick="setStyle(event)">产品</li>
<li onclick="setStyle(event)">新闻</li>
</ul>
</div>
<script>
function setStyle(event) {
let el=document.getElementById("menu");
let current=el.querySelector(".active");
if (event.target.className==="active") {
event.target.className="";
} else {
if(current) current.className="";
event.target.className="active";
}
}
</script>
</body>
</html>