选项卡
选项卡原理:
点击标签时,标签选中,其他标签取消选中
于选中标签对应的内容显示,其他内容隐藏
classList:class列表
.add(c1,c2,c3...cn),在原有基础上再加一个
.remove(c1),删除class
.for循环绑定事件无法获取索引的原因?
for训话为每个元素绑定了事件,但是事件并没有触发,当事件触发时,for循环早已经结束,此时索引时最终值(长度)
将索引存储在自定义属性上,获取索引时,用自定义属性代替
let声明
闭包传实参
<body>
<div>
<button class="sel">A</button>
<button>B</button>
<button>C</button>
</div>
<div>
<div class="sel">AAAAAA</div>
<div>BBBBBBB</div>
<div>CCCCCCCC</div>
</div>
<script>
var btns=document.querySelectorAll("button");
var conts=document.querySelectorAll("div>div");
for(var i=0;i<btns.length;i++){
btns[i].x=i;//将索引存储到x属性上
btns[i].onclick=function(){
for(var j=0;j<btns.length;j++){
//删除每一个按钮上的sel
btns[j].classList.remove("sel")
//隐藏所有内容
conts[j].classList.remove("sel")
}
this.classList.add("sel")
conts[this.x].classList.add("sel")
}
}
</script>
</body>