0

jquery.I を使用して作成されたメニューがあります。特定の親をクリックすると、その親の下にある子のみが展開され、他の親の下にある他のすべての子が非表示になります。
私は特定の親を展開できることに基づいて、親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 に答える