单击时如何更改导航栏中的链接颜色

时间:2021-07-10 05:29:04

标签: javascript html css

我想在单击时更改导航栏中的链接 (A) 颜色,并且如果我导航到另一个链接 (B) 颜色应返回链接 (A) 的默认颜色。

links.forEach( a=>{ //Its Color Changes But I Want All The Others To Be In Default Color 
    a.onclick = () => {
        a.classList.add("active");
    }
})

2 个答案:

答案 0 :(得分:0)

向每个元素添加事件,然后单击链接执行添加/删除类。

var navElements = document.querySelectorAll('a');
      //looping through each anchor element
      navElements.forEach(function(element){
           //adding click event on each anchor element
            element.addEventListener('click',function(e){
                 //stop default behaviour
                 e.preventDefault();
                 //select current active element
                 let active = document.querySelector('.selected');
                 active?.classList.remove('selected'); //remove class  
                 this.classList.add('selected'); //add class to current click element
      });
});

答案 1 :(得分:-2)

links.forEach(a=> {
    a.onclick = () => {
        links.forEach(a=>a.classList.remove('active'));
        a.classList.add("active");
    }
})