How do I check if the element I am clicking on has a classlist?
let dropdown  = target.nextElementSibling.classList.contains('form__select-dropdown')
My code is erroring on this line when the element that I click on doesn't have a class attached to it.
Which makes complete sense.
However I only want the below code to run if the nextElementSibling has the class form__select-dropdown:
        if (!selectTag && dropdown) {
            target.querySelector('.form__select-dropdown').classList.remove('active')
        } else {
            target.nextElementSibling.classList.toggle('active')
        }
So I need to check if the target.nextElementSibling.classList exists before I do my condition to avoid the error but I'm unsure how to do this?
Your issue is that  target doesn't always have a nextElementSibling; you should check if it is null before proceeding.
let next = target.nextElementSibling
let dropdown = next && next.classList.contains('form__select-dropdown')
And later in your code:
    if (!selectTag && dropdown) {
        target.querySelector('.form__select-dropdown').classList.remove('active')
    } else {
        next && next.classList.toggle('active')
    }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With