js原生:需求:五个div,点击一个div显示背景颜色,点击下一个div,显示背景颜色?

js原生:需求:五个div,点击一个div显示背景颜色,点击下一个div,显示背景颜色。注意:点击下一个div同时前面的背景颜色隐藏,依次循环。... js原生:需求:五个div,点击一个div显示背景颜色,点击下一个div,显示背景颜色。注意:点击下一个div同时前面的背景颜色隐藏,依次循环。 展开
 我来答
Kenn
2020-05-16 · TA获得超过517个赞
知道小有建树答主
回答量:703
采纳率:82%
帮助的人:186万
展开全部
<style>
.cell { display: flex; }
.col { padding: 1em; transition: all ease-in-out .2s; flex: 1; text-align: center; background-color: #eee; margin: .2em; }
.bg { background-color: #f90; color: #fff; }
</style>

<div class="cell">
<div class="col">c1</div>
<div class="col">c2</div>
<div class="col">c3</div>
<div class="col">c4</div>
<div class="col">c5</div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
var cols = document.querySelector('.cell').querySelectorAll('.col');
function changeBackground(target) {
for (var i = 0; i < cols.length; i++) {
cols[i].classList.remove('bg');
}
target.classList.add('bg');
}
for (var i = 0; i < cols.length; i++) {
cols[i].addEventListener('click', function(e) {
changeBackground(e.currentTarget);
});
}
});
</script>
追问
大佬,如果改了需求,同样我想实现  五个div 每个都有一个子元素和一个孙元素,点击一个div,显示孙元素的背景颜色。点击下一个div同时前面的孙元素的背景颜色隐藏,依次循环。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式