<div class="exp-about exp-left-block">
<p class="exp-left-pagh">声明与条款</p>
<div class="exp-over-upright"></div>
</div>
<div class="exp-change-log exp-left-block">
<p class="exp-left-pagh">更改日志</p>
<div class="exp-over-upright"></div>
</div>
<div class="exp-other exp-left-block">
<p class="exp-left-pagh">赞助商</p>
<div class="exp-over-upright"></div>
</div>
JS 和 HTML 无关
function add3Events(){
for (var i=0; i < bar_list.length; i++) {
bar_list[i].onclick = function(num) {
return function() {
// 点击改变 css
this.getElementsByTagName('div')[0].style.display = 'block';
this.style.backgroundColor = '#00A2CA';
this.style.color = '#ffffff';
// 其他 div 恢复默认 css
[].forEach.call(bar_list, function(ele, index, arr) {
if (index == num) return;
ele.getElementsByTagName('div')[0].style.display = 'none';
ele.style.backgroundColor = '#F4F4F4';
ele.style.color = '#333333';
});
};
}(i);
}
}
像这样的选中某个 div ,此 div 的样式改变。但是其他区域只有用循环这种死方法,然后判断不是当前 div 的其他 div 的样式恢复正常。这样感觉太烦了,有没有好一点的方法呢,求思路。