Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery。隐藏除此之外的其他元素_Javascript_Html_Jquery - Fatal编程技术网

Javascript Jquery。隐藏除此之外的其他元素

Javascript Jquery。隐藏除此之外的其他元素,javascript,html,jquery,Javascript,Html,Jquery,我正在使用轮询模板创建轮询。有一个用户创建的投票列表,单击3点(菜单图标)后,下拉列表显示删除此投票的选项。如果显示子菜单,并单击屏幕上的任意位置,则会隐藏该子菜单 但是我发现了一个错误,如果你点击另一个子菜单图标,它不会隐藏其他子菜单(请看下图) 当单击任意位置时,它应该隐藏,即使它是另一个条目的子菜单图标 有一个HTML结构: <div class="pl-options"> <a href="#" cla

我正在使用轮询模板创建轮询。有一个用户创建的投票列表,单击3点(菜单图标)后,下拉列表显示删除此投票的选项。如果显示子菜单,并单击屏幕上的任意位置,则会隐藏该子菜单

但是我发现了一个错误,如果你点击另一个子菜单图标,它不会隐藏其他子菜单(请看下图)

当单击任意位置时,它应该隐藏,即使它是另一个条目的子菜单图标

有一个HTML结构:

    <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');