0

我正在使用一些软件构建一个站点,该软件会吐出一组分层嵌套列表,而我又使用 superfish jquery 插件将其转换为下拉菜单。

我遇到的问题是,所述软件将仅应用一个活动类(适用于当时处于活动状态的任何页面/元素) - 如果我在二级页面上并且我需要将一个应用到父级

  • 标记以及,以使菜单保持打开状态。出于显而易见的原因,我不想破解核心,所以我想知道是否可以使用 Jquery 来应用一些简单的魔法。

    有没有一种方法可以针对包含 class='active' 的列表的父 li 元素?(如果我只在顶级页面中,则不需要向上遍历)

    例如软件生成的代码是这样的:

    <ul>
       <li><a href="#">First level</a>
         <ul>
             <li class="active"><a href="#">Second 1</li>
             <li><a href="#">Second 2</li>
             <li><a href="#">Second 3</li>
          </ul>
       </li>
    </ul>
    

    我还需要将另一个 class="active" 应用到顶层<li>,因为它是活动节点的父级。

    那有意义吗?

  • 4

    1 回答 1

    0

    试试这个

    var $this;
    $("ul > li").each(function(){
        $this = $(this);
    
        if($this.find("> li.active").length)
          $this.addClass("active");
    }
    
    于 2011-07-25T16:08:21.157 回答