javascript - 无法读取 null 的属性 'classList'

标签 javascript

首先,对不起我的英语,但是你能告诉我我做错了什么吗? 错误:

Uncaught TypeError: Cannot read property 'classList' of null

// get 'hamburger' class from html
const hamburger = document.querySelector('.hamburger');

// handle click on hamurger and add class 'hamburger-active' to it
function handleClick(){
    hamburger.classList.toggle('hamburger-active');
}

最佳答案

未找到类名为 .hamburger 的元素,因此变量 hamburgernull。由于该变量为 null,因此您无法读取其 classList 属性(null 值没有任何属性)。

要修复此错误,请确保当代码的第一行 (const hamburger = document.querySelector('.hamburger' );) 已运行。您可以将 console.log(hamburger); 添加到下一行来检查变量的值。

您还可以在尝试切换类 hamburger-active 之前检查变量是否为 null:

function handleClick(){
    if (hamburger !== null){
        hamburger.classList.toggle('hamburger-active');
    }
}

关于javascript - 无法读取 null 的属性 'classList',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60789689/

相关文章:

javascript - Dailymotion 自动播放无法在移动设备上运行

javascript - Angular 2为每个数组对象添加键和值

javascript - 使用 React Router 4.2 渲染侧边栏和其他组件

javascript - 多边形碰撞检测实现

javascript - 同一 URL 上的 Angular UI 路由器默认状态

javascript - 滚动固定的 div 时防止正文滚动?

javascript - 检查值并分配 TRUE 的更短方法

javascript - 三.js阴影转换问题

以/*! 开头的 JavaScript 注释

javascript - 等待 fetch() 解析使用 Jest 进行 React 测试?