
[英]getElementById returning null but getElementsByClassName works, why?
[英]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.