js中的排他思想
排他思想在js中的运用十分广泛,今天就通过一个简单的案例把自己的理解讲给大家,共同学习。如有不妥,希望大家批评指正。
通过五个按钮点击后的样式变化,在点击其中一个按钮后,只有该按钮变色,再点击其他按钮,之前点击的按钮样式清空,本次点击的按钮变色。
![](https://i-blog.csdnimg.cn/blog_migrate/070196ab52c50e7ba1d576a147da3377.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ce7d8232a722109f83c00bd55890ee36.png)
代码实现如下:
<!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>
<button>按钮4</button>
<button>按钮5</button>
</body>
<script>
var oo = document.querySelectorAll('button');
for (let i = 0; i < oo.length; i++) {
// 第一层for循环是为了确定按钮的序号,为点击事件确定对象
oo[i].onclick = function () {
//注意不能颠倒,先干掉其他人,在设置自己
for (let i = 0; i < oo.length; i++) {
//给所有元素全部消除样式
oo[i].style.backgroundColor = '';
}
//给当前元素设置样式
this.style.backgroundColor = 'pink'
}
}
</script>
</html>
前端小白的自身拙见,希望对大家有所帮助。