Javascript Jquery在单击“发生”时删除活动类
我正在使用下一个html结构:Javascript Jquery在单击“发生”时删除活动类,javascript,html,jquery,Javascript,Html,Jquery,我正在使用下一个html结构: <ul class="menu"> <li class="item"> <small>Ubicacion</small> <a class="item-content" href="#"> <i class="item-icon fas fa-map-ma
<ul class="menu">
<li class="item">
<small>Ubicacion</small>
<a class="item-content" href="#">
<i class="item-icon fas fa-map-marker-alt"></i><span>Ubicaciones</span>
<i class="down fas fa-sort-down"></i>
</a>
<ul class="sub-menu ubicaciones">
<li class="sub-item">Ubicacion1</li>
</ul>
</li>
</ul>
在这段代码中,我只得到了类向下的元素,即箭头图标,我添加了活动的类以向上旋转箭头。我用class子菜单中的元素做了同样的操作,我添加class active来显示它
我还有这个代码:
$(document).on('click', '.sub-item', function (evemt) {
event.preventDefault()
console.log('Hola!')
})
有了这段代码,我想得到子项元素中的文本,但当我用类子项点击任何一个元素时,该类被从我的元素中删除,子菜单和子菜单被隐藏,我不想这样做,我尝试使用preventDefault,但它不起作用
有人能告诉我我的错误是什么吗?您可以在单个事件处理程序的帮助下这样做:
$('.menu.item')。单击(函数(事件){
if($(event.target).hasClass('sub-item')){
console.log('Hola!')
}否则{
$(this).find('.item content.down').toggleClass('active'))
$(this).find('.sub菜单').toggleClass('active'))
}
})
-
泛化
- Ubicacion1
您的jquery中有一个点击事件的输入错误,它应该是事件而不是事件!我改变了它,但我有同样的问题,然后,我想你可能需要在这个功能中再次对它们设置活动类
$(document).on('click', '.sub-item', function (evemt) {
event.preventDefault()
console.log('Hola!')
})