I am trying to create multilevel pure javascript menu with JS. BUt it only captures first element only.
(function() {
document.querySelector('.more').addEventListener('click', function() {
this.classList.toggle('open')
}, false);
})();
li ul {display: none}
li.open ul {display: block}
<ul>
<li>1</li>
<li class="more">
2
<ul>
<li>2,1</li>
<li>2.2</li>
</ul>
</li>
<li>2</li>
<li>3</li>
<li class="more">
4
<ul>
<li>4.1</li>
<li>4.2</li>
</ul>
</li>
</ul>
<ul>
<li>1</li>
<li class="more">
2
<ul>
<li>2,1</li>
<li>2.2</li>
</ul>
</li>
<li>2</li>
<li>3</li>
<li class="more">
4
<ul>
<li>4.1</li>
<li>4.2</li>
</ul>
</li>
</ul>
When i tried to run query selector all it gives me an error saying querySelectorAll().addEventListener is not a function.
Can someone see what I am doing wrong here. Thanks.