You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写JS函数为所有test类元素切换heading-nav-active CSS样式

问题原因

  • document.querySelectorAll('.test') 返回的是包含所有匹配元素的NodeList集合,不是单个DOM元素,集合本身没有classList属性,直接调用nav.classList.toggle会报错无法生效。

修正后代码

const navSlide2 = () => {
    const burger = document.querySelector('.burger');
    const testElements = document.querySelectorAll('.test');

    burger.addEventListener('click',()=>{
        // 遍历所有.test元素,逐个切换样式类
        testElements.forEach(item => {
            item.classList.toggle('heading-nav-active');
        });
    });
}
// 函数定义后需要调用才能生效
navSlide2();

可选调整说明

  • 如果你需要点击后强制给所有元素添加样式类而非切换存在状态,可以把toggle方法替换为add
  • 如果你页面中的.test元素是动态生成的,需要确保执行querySelectorAll时元素已经渲染挂载到DOM树中,否则无法匹配到目标元素

内容的提问来源于stack exchange,提问作者Wyrden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:54:08