如何在Jquery中展开特定父级

如何在Jquery中展开特定父级,jquery,parent-child,Jquery,Parent Child,我有一个使用jquery创建的菜单。我希望当我单击该父shud下的特定父独子菜单时,展开“其他父shud get hide”下的所有其他子菜单。 我有一个父id,所以我可以根据它展开一个特定的父id 我的代码如下 <script> $(document).ready(function(){ var msg1; var msg14; var msg = false; alert((document.getElementById(''P17_LOCATION_ID'')).val

我有一个使用jquery创建的菜单。我希望当我单击该父shud下的特定父独子菜单时,展开“其他父shud get hide”下的所有其他子菜单。
我有一个父id,所以我可以根据它展开一个特定的父id

我的代码如下

<script>
$(document).ready(function(){
  var msg1;
  var msg14;
var msg = false;
alert((document.getElementById(''P17_LOCATION_ID'')).value);
alert(msg14);
$(''.dropdown_menu'').click(function(event) {
msg = !msg;
if (msg)'
$(this).parent(''.parent_menu'').find(''.child_menu'').slideDown("slow");
  else 
$(''.child_menu'').hide();
return false;
 });
' });
</script>

$(文档).ready(函数(){
var-msg1;
风险值msg14;
var msg=false;
警报((document.getElementById(“P17位置ID”)).value);
警报(msg14);
$(“”.下拉菜单“”)。单击(函数(事件){
味精=!味精;
如果(味精)'
$(此).parent(''.parent_菜单')。find('.child_菜单')。slideDown(“慢”);
其他的
$(''.child_菜单“”).hide();
返回false;
});
' });
此处-
$(此).parent(''.parent_菜单').find('.child_菜单').slideDown(“慢”)
负责向下滑动父菜单,但当前所有子菜单都在展开,我想停止,当我单击某个父菜单时,将仅显示该父菜单下的子菜单,以便我如何将id传递给上述语句。
请建议一些解决方案

$(expr)。parent(sel)返回与sel匹配的expr的所有父级。您不想使用$(this).closest('.parent_menu')

或者,您也可以只使用由
parent()返回的集合中的第一个元素:


然而,我同意
nestest()
更优雅,它基本上做了同样的事情。希望我的帖子能为你澄清一些事情。

嗨,谢谢你的回复。我明白了你的意思,但我想要的是当用户选择任何子项时,我的页面会刷新,因此所有子菜单都会展开,所以我希望在$(document).ready(function()之后{我需要添加一些只会扩展其parentid在此处可访问的特定子菜单的内容。请建议一些解决方案,因为这非常紧急。hi htp.p;htp.p('');htp.p('$(document).ready(function(){');htp.p('var msg14=($)(val());';htp.p('alert(msg14);');htp.p($)('dd:not(:first)').hide();');htp.p('$(''dta')。单击(函数(){');htp.p('$(''dd:visible')。slideUp('$);');htp.p('$(this).parent().next().slideDown('$);htp.p('return false;');htp.p('});');htp.p('});htp.p(''));在这里,我可以在页面刷新时看到第一个父项,说我想在页面刷新时查看最后一个扩展的父项id,那么有什么方法代替:first,我可以在这里使用吗
$(this).parent('.parent_menu').eq(0).find('.child_menu').slideDown('slow');