I'm trying to remove a class called active
in my code. The class active
appears when an element is clicked with the addEventListener
but I would like to use a function onClick
that searches for the class active
and removes it. Still allowing the addEventListener
to add active
when another element is clicked. Here is an example of what I want to achieve, in mobile I want to do the multi-level where the div stacks on-top another div and can go back to the previous div https://codyhouse.co/demo/mega-dropdown/index.html#0
const dropDowns = document.querySelectorAll(".mobile-nav .dropdown");
for (var i = 0; i < dropDowns.length; i++) {
dropDowns[i].addEventListener("click", function() {
this.children[1].classList.add("active");
});
}
function closeDropDown() {
const temp = document.querySelectorAll(".mobile-nav .dropdown-content");
temp.classList.remove("active");
}
<div class="dropdown">
<button class="dropbtn">{{ link.title }}
<i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content">
<div class="mm-row">
<div class="mm-column">
<div class="mm-subcategory">
<i class="fas fa-arrow-left" onclick="closeDropDown()"></i>
<h3>{{ link.title | link_to: link.url }}</h3>
</div>
{% for child_link in linklists[child_list_handle].links %} {{ child_link.title | link_to: child_link.url }} {% endfor %}
</div>
<div class="dropdown-feature">
{% assign collection= collections.winter-wear %}
<img src="{{ collection.image | img_url: '908x330' }}">
</div>
</div>
</div>
<!-- /dropdown-content -->
</div>