想实现点击a标签变色,点击另一个a标签恢复原来的颜色,自己先是用JavaScript写了一个函数ChangeCss(),如下:
function ChangeCss(obj){
var alist = document.getElementsByTagName('a');
for(var i=0;i<alist.length;i++){
alist[i].style.color="#6a6a6d";
}
obj.style.color="#76cbe7";
}
可以实现想要的效果,但是会改变除了左导航部分的其他a标签的样式。当我改变alist的获取写法时,(改为 var alist = document.getElementsById("#firstList").getElementsByTagName('a');),就会报错无法实现该功能。
之后我改用JQuery写,但是对Jquery不太熟悉,刚开始写的方法没法实现所有要求,点击二三级导航会变颜色,不会恢复原来的样式,如下:
$(function(){
//点击二三级导航会变颜色
$(".firstNav").find("a").click(function(e){
$(this).css("color","#76cbe7");
});
})
后来改用addClass()和removeClass()方法,实现了该功能。如下:
$(function(){
$(".firstNav").find("a").click(function(e){
$(".firstNav a").removeClass("on");
$(this).addClass("on");
});
})