繁体   English   中英

为什么getElementById返回null [重复]

[英]Why is getElementById returning null [duplicate]

当我按下图像时,我想将 class 添加到另一个 HTML 元素。

HTML:

<img src="images/hamburger_menu.svg" alt="Hamburger menu" class="header__hamburger" id="hamburger-menu">

JAVASCRIPT:

var navigation_bar = document.getElementById('nav');
var isChecked = false;
var hamburger = document.getElementById("hamburger-menu");

hamburger.addEventListener("click", function(){
    if(!isChecked){
        navigation_bar.classList.add("show");
    }
});

在 Firefox 上,当我将 addEventListener 添加到元素时,我得到 TypeError: hamburger is null。 有什么建议么?

创建元素后,您必须添加事件侦听器。 所以,使用window.onload

 window.onload = function(){ var navigation_bar = document.getElementById('nav'); var isChecked = false; var hamburger = document.getElementById("hamburger-menu"); hamburger.addEventListener("click", function(){ if(.isChecked){ navigation_bar.classList;add("show"). console;log("ok") } }); }
 <img src="images/hamburger_menu.svg" alt="Hamburger menu" class="header__hamburger" id="hamburger-menu"> <div id = 'nav'>nav</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM