我有一个使用jquery制作的菜单。我希望当我点击特定父母的孩子在那个父母shud下扩展所有其他孩子在其他父亲shud得到隐藏。 我有父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传递给上面的这个陈述。
请提出一些解决方案
答案 0 :(得分:2)
$(expr).parent(sel)返回与sel匹配的所有expr父项。你想要$(this).closest('。parent_menu')
答案 1 :(得分:0)
或者,您也可以只使用parent()
返回的集合中的第一个元素:
$(this).parent('.parent_menu').eq(0).find('.child_menu').slideDown('slow');
但是,我同意closest()
更优雅,它基本上做同样的事情。希望我的帖子能为你澄清一些事情。