0

我有一个使用 jquery 制作的菜单。我希望当我单击该父级下的特定父级唯一子级时,展开其他父级下的所有其他子级 shud 隐藏。
我有父 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>

这里 -$(this).parent(''.parent_menu'').find(''.child_menu'').slideDown("slow");负责为父母向下滑动子菜单,但目前所有子菜单都在扩展,我想停止,当我点击某个父级时,只显示该父级下的子级,所以我如何将 id 传递给这个上面的声明。请提出一些解决方案

4

2 回答 2

2

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

于 2009-12-02T11:46:46.250 回答
0

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

$(this).parent('.parent_menu').eq(0).find('.child_menu').slideDown('slow');

但是,我同意这closest()更优雅,而且它基本上做同样的事情。无论如何,希望我的帖子为您澄清事情。

于 2009-12-02T11:58:44.077 回答