我确定我在这里遗漏了一些非常简单的东西,但我只是想向我的一个元素添加一个点击事件,但控制台一直说“Null 不是对象”
这是我的标记
<section class="section active">
<div class="hidden-content">
</div>
<button class="button"></button>
</section>
<section class="section">
<div class="hidden-content">
</div>
<button class="button"></button>
</section>
<section class="section">
<div class="hidden-content">
</div>
<button class="button"></button>
</section>
我正在使用的 javascript
document.querySelector('.section.active .button').addEventListener('click', function(){
document.querySelector('.section.active .hidden-content').classList.add('show')
});
我知道我可以像这样做一个 queryselectorAll 并添加点击处理程序
var hiddenContent = document.querySelectorAll('.button');
for (var i = 0; i < button.length; i++) {
button[i].addEventListener('click', function(){
document.querySelector('.section.active .hidden-content').classList.add('show')
});
}
我问的原因是我知道在任何时候都只会有一个(section.active .button),这就是为什么我很惊讶queryselector对我不起作用,因为它只会返回它找到的第一个就是这个。(当然除非我错了)
感谢任何关于我哪里出错的建议。
谢谢