排他思想(算法)
如果有同一组元素,我们想要某一个元素实现某种样式,需要用到循环的排他思想:
- 所有的元素全部清除(首先排除其他人,再设置自己的样式)
- 给当前的元素设置样式
<!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>
</head>
<body>
<!-- 有三个按钮,点击一下按钮就变成粉色 -->
<button>1</button>
<button>2</button>
<button>3</button>
<script>
// 首先获取所有的元素
var btns = document.querySelectorAll("button");
for (var i = 0; i < btns.length; i++) {
btns[i].onclick = function () {
for (var i = 0; i < btns.length; i++) {
// 首先要将所有的元素样式清空
btns[i].style.backgroundColor = "";
}
// 然后再给自己的样式
this.style.backgroundColor = "pink";
// 如果只用一个for循环的话就会点击下一个的时候,前面的不会清空,所以先清空,再设置自己的样式
};
}
</script>
</body>
</html>

浙公网安备 33010602011771号