使用 Javascipt 更改类

请原谅我的愚蠢问题,我是初学者:/出于某种原因,由于 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 {


至尊宝的传说
浏览 117回答 2
2回答

开满天机

听起来你需要设置一个 onClick 事件监听器:https : //developer.mozilla.org/en-US/docs/Web/API/EventListener伪代码可能是:if link is clicked and link is selected&nbsp; set event listener on link&nbsp;&nbsp; &nbsp; onClick change class to 'serve'&nbsp; &nbsp; remove event listener

摇曳的蔷薇

听起来您需要一个可以切换类的 eventListener,我首先将要将此样式应用于变量的所有链接都包含在内。并应用下面的代码块。var linkArray = doucument.querySelectorAll('navigationLinks');// Example-> var linkArray = document.querySelectorAll('nav ul li a');for(var i = 0; i < linkArray.length; i++) {&nbsp; linkArray[i].addEventListener("click", e => {&nbsp; &nbsp; e.target.classList.toggle('classToToggle');&nbsp; })}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript