0

出于某种原因,下面的简单脚本不起作用 - 我希望在单击“投资组合”链接时切换子菜单(子菜单正确隐藏)。

如果我更改触发器 div 使其位于页面的其他位置,则它可以正常工作。有人可以解释下面的问题是什么吗?你不允许筑巢什么的吗?

JS:

<script>
jQuery(document).ready(function ($) {
  $('.sub-menu').hide();
  $('#menu-item-154 > a').click(function(){
    $('.sub-menu').toggle();
  });
});
</script>

页面 HTML

<div class="menu-main-menu-container">
  <ul id="menu-main-menu" class="">
    <li id="menu-item-154" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-154">
      <a href="#">Portfolio</a>
      <ul class="sub-menu">
        <li id="menu-item-26" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26"><a href="/?page_id=20">ITEM 1</a></li>
        <li id="menu-item-55" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-55"><a href="/?page_id=48">ITEM 2</a></li>
      </ul>
    <li id="menu-item-56" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-56"><a href="/?cat=1">NEWS &#038; BLOG</a></li>
  </ul>
</div>
4

2 回答 2

1

您没有关闭li投资组合之后:

<li id="menu-item-154" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-154">
  <a href="#">Portfolio</a>
</li>

为什么不使用 clickevent a href

<a id="opensub1" href="#">Portfolio</a>
于 2013-02-28T12:58:13.033 回答
0

采用find()

  $('.sub-menu').hide();
  $('#menu-item-154').find('a').click(function(){
    $('.sub-menu').toggle();
  });
于 2013-02-28T12:56:47.483 回答