用Javascipt更改类

时间:2019-10-31 15:27:08

标签: javascript class toggle

原谅我这个愚蠢的问题,我是初学者:/ 由于某些原因,由于某些在Wordpress上具有Divi主题的东西,我无法使用Jquery。

我需要将CSS类更改为某些链接,以便在选择后更改颜色 (这些链接显示了不同的div内容)

我已经尝试过了:

function linkcolor() {
   document.getElementById(arguments[0]).className='serveminus'; 
   for(var i=1; i< arguments.length-1; i++) {
      document.getElementById(arguments[i]).className='serve'; 
   }  
}

当我调用函数时,我将添加锚点的ID作为参数。 第一个显示为“已选择”(保留),另一个显示为灰色(保留)。 不知何故,我已经可以正常工作了,但我需要其他功能: 当一个链接已经被选中并且具有“ serveminus”类时,如果再次单击,该类将变回“ serve”。

如果我添加以下条件,我猜它会生成一个无意义的循环。...

 if (document.getElementById(arguments[0]).className='serveminus') {
    document.getElementById(idlink).className='serve';
 } else {

2 个答案:

答案 0 :(得分:1)

您需要设置onClick事件监听器的声音: https://developer.mozilla.org/en-US/docs/Web/API/EventListener

伪代码可能是:

    ngOnInit(): void {
    this.database.getTopics();
}

答案 1 :(得分:0)

听起来像需要一个eventListener来切换类,我首先要在变量中包含要应用此样式的所有链接。并应用下面的代码块。

var linkArray = doucument.querySelectorAll('navigationLinks');
// Example-> var linkArray = document.querySelectorAll('nav ul li a');

for(var i = 0; i < linkArray.length; i++) {
  linkArray[i].addEventListener("click", e => {
    e.target.classList.toggle('classToToggle');
  })
}