请原谅我的愚蠢问题,我是初学者:/出于某种原因,由于 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
摇曳的蔷薇
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');
})
}
添加回答
举报
0/150
提交
取消