<script>
var div = document.querySelector('div')
div.onclick = function() {
this.style.backgroundColor = 'pink';
this.style.width = '300px';
}
</script>
我想要下面这一段也有上面的效果,点击的时候改变背景色,为什么它不变呀?
<div class="nav"></div>
<script>
var nav = document.getElementsByClassName("nav")
nav.onclick = function() {
this.style.backgroundcolor = 'red';
this.style.width = '300px';
}


var nav = document.getElementsByClassName("nav")获取到的是一个列表,你给列表添加点击事件肯定是不可行的,你试试
nav[0].onclick = function() {
this.style.backgroundcolor = 'red';
this.style.width = '300px';
}
1、document.getElementsByClassName("nav")-->document.getElementsByClassName("nav")[0]
2、backgroundcolor-->backgroundColor
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
<style></style>
</head>
<body>
<div class="nav">ssss</div>
<script>
var nav = document.getElementsByClassName("nav")[0];
console.log("nav", nav);
nav.onclick = function () {
this.style.backgroundColor = "red";
this.style.width = "300px";
};
</script>
</body>
</html>
getElementsByClassName获取的是一个数组,你要是想添加对象就循环这个数组给每个循环项添加onckick就可以了,楼主要努力哦 基础功都不行
这种循环的 用事件委托比较好