如何检查我单击的元素是否具有班级列表?
let dropdown = target.nextElementSibling.classList.contains('form__select-dropdown')
当我单击的元素没有附加的类时,我的代码在此行发生错误。
完全有道理。
但是,如果nextElementSibling具有类form__select-dropdown,我只希望运行以下代码:
if (!selectTag && dropdown) {
target.querySelector('.form__select-dropdown').classList.remove('active')
} else {
target.nextElementSibling.classList.toggle('active')
}
因此,在执行条件以避免错误之前,我需要检查target.nextElementSibling.classList是否存在,但不确定如何执行此操作?
您的问题是,target
并不总是有一个nextElementSibling
;。您应该先检查是否存在,null
然后再继续。
let next = target.nextElementSibling
let dropdown = next && next.classList.contains('form__select-dropdown')
然后在您的代码中:
if (!selectTag && dropdown) {
target.querySelector('.form__select-dropdown').classList.remove('active')
} else {
next && next.classList.toggle('active')
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句