为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Javascipt 更改类

使用 Javascipt 更改类

至尊宝的传说 2021-12-12 09:36:02
请原谅我的愚蠢问题,我是初学者:/出于某种原因,由于 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 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

听起来你需要设置一个 onClick 事件监听器:https : //developer.mozilla.org/en-US/docs/Web/API/EventListener


伪代码可能是:


if link is clicked and link is selected

  set event listener on link 

    onClick change class to 'serve'

    remove event listener


查看完整回答
反对 回复 2021-12-12
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

听起来您需要一个可以切换类的 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');

  })

}


查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信