Javascript Jquery。隐藏除此之外的其他元素
我正在使用轮询模板创建轮询。有一个用户创建的投票列表,单击3点(菜单图标)后,下拉列表显示删除此投票的选项。如果显示子菜单,并单击屏幕上的任意位置,则会隐藏该子菜单 但是我发现了一个错误,如果你点击另一个子菜单图标,它不会隐藏其他子菜单(请看下图) 当单击任意位置时,它应该隐藏,即使它是另一个条目的子菜单图标 有一个HTML结构:Javascript Jquery。隐藏除此之外的其他元素,javascript,html,jquery,Javascript,Html,Jquery,我正在使用轮询模板创建轮询。有一个用户创建的投票列表,单击3点(菜单图标)后,下拉列表显示删除此投票的选项。如果显示子菜单,并单击屏幕上的任意位置,则会隐藏该子菜单 但是我发现了一个错误,如果你点击另一个子菜单图标,它不会隐藏其他子菜单(请看下图) 当单击任意位置时,它应该隐藏,即使它是另一个条目的子菜单图标 有一个HTML结构: <div class="pl-options"> <a href="#" cla
<div class="pl-options">
<a href="#" class="pl-user-options"></a>
<ul class="dropdown"></ul>
</div>
<div class="pl-options">
<a href="#" class="pl-user-options"></a>
<ul class="dropdown"></ul>
</div>
prtclick
->.pl用户选项
我认为这个函数$(“html,body”).livequery('click',function(){…
)应该编辑,但无法成功实现。我已经尝试了很多方法,但都失败了
我的一个尝试是:
$(prtclick).click(function(evt){
$(prtclick).find(prtlist).removeClass('open');
$(prtclick).removeClass('active');
if(prtclick == ".pl-mobile-menu") $('body').removeClass('active');
});
但是现在它根本不显示子菜单。我需要为当前条目做一个例外。你有什么想法吗?谢谢。在你检查
之前。打开类,你可以关闭所有其他ul.下拉菜单
$(this).closest('.row').siblings('.row').removeClass('active')
.find('ul.dropdown').removeClass('open');
获取当前单击的a
具有“row”类的主父级,
获取其同级,移除其中的“活动”类,
获取这些同级中的所有ul.dropdown
s,并删除其中的'open'类ul
s您可以为上面的内容创建演示代码吗?但是livequery在7年前就死了…您应该使用常规事件委派。请参阅,您可以使用$not()
.Ex:$('ul.dropdown.open')。而不是($(此).parent())…
您共享的结构用于一次轮询,或者行
是轮询的父级?
$(this).closest('.row').siblings('.row').removeClass('active')
.find('ul.dropdown').removeClass('open');