JavaScript 不工作。显示无法读取属性

标签 javascript css

以下是我的HTML代码 enter image description here

这是 JS 代码....

const navbtn = document.querySelector('.navbar__btn');
const navlink = document.querySelector('.navbar__link');

navbtn.addEventListener('click', function () {
    let value = navlink.classList.contains('navbar__collapse');


    if (value) {
        navlink.classList.remove('navbar__collapse');
    } else {
        navlink.classList.add('navbar__collapse');
    }
});

这是 CSS 代码。

.navbar_link{
    list-style-type: none;
    transition: all 2s ease;
    /* */
    height:0;
   overflow: hidden;
}

.navbar__collapse{
    height: 250px;
}

但是当我在我的服务器上运行它时,它在我的 js 代码的第 6 行显示“Uncaught TypeError: Cannot read property 'classList' of null”。请提供任何帮助。

最佳答案

正如评论中所提到的,是双下划线 _ 导致了问题。

这是您的代码的工作示例。

const navbtn = document.querySelector('.navbar_btn');
const navlink = document.querySelector('.navbar_link');

navbtn.addEventListener('click', function() {
  let value = navlink.classList.contains('navbar_collapse');

  if (value) {
    navlink.classList.remove('navbar_collapse');
  } else {
    navlink.classList.add('navbar_collapse');
  }
});
.navbar_btn {
  margin: 10px;
}

.navbar_link {
  list-style-type: none;
  transition: all 2s ease;
  overflow: hidden;
  background-color: blue;
  height: 100px;
  width: 100px;
}

.navbar_collapse {
  height: 250px;
}
<button class="navbar_btn">Button</button>
<div class="navbar_link"></div>

关于JavaScript 不工作。显示无法读取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733468/

相关文章:

javascript - webRTC:如何检测流中的音频/视频存在?

javascript - 如何从使用SWT浏览器从ajax请求获取数据的java脚本函数获取eclipse函数的返回值?

html - 如何在没有媒体查询的情况下制作响应式网站?

html - 如何仅使用 .css 设置子类的样式?

html - IE9 float 溢出 :Hidden and Table Width 100% Not Displaying Properly

javascript - Material 复选框未选中,即使模型值为真

javascript - 切换 div 的第一个元素的类

javascript - Canvas Particles - 在调整窗口大小时更新 Canvas 大小

html - 如何将底部边框应用于 DIV 的每一行,使其具有 "lined paper"外观?

javascript - JavaScript 中的 URL 参数