suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie überprüfe ich mit jquery, ob class="active" im untergeordneten li von li vorhanden ist?

<ul class="nav sidebar-menu">
    <li >
        <a href="/admin/index">
            <i class="menu-icon glyphicon glyphicon-home"></i>
            <span class="menu-text"> 后台首页 </span>
        </a>
    </li>
    <li>
        <a href="#" class="menu-dropdown">
            <i class="menu-icon fa fa-inbox"></i>
            <span class="menu-text"> 产品 </span>
            <i class="menu-expand"></i>
        </a>
        <ul class="submenu">
            <li >
                <a href="/admin/product/lst">
                    <span class="menu-text">产品列表</span>
                </a>
            </li>
            <li >
                <a href="/admin/size/lst">
                    <span class="menu-text">码数管理</span>
                </a>
            </li>
            <li >
                <a href="/admin/cate/lst">
                    <span class="menu-text">产品分类</span>
                </a>
            </li>
        </ul>
    </li>
    <li> //这个li下面的li里面存在active这个class,给这个li增加class="open"
        <a href="#" class="menu-dropdown">
            <i class="menu-icon fa fa-user"></i>
            <span class="menu-text"> 管理员 </span>
            <i class="menu-expand"></i>
        </a>
        <ul class="submenu">
            <li >
                <a href="/admin/user/lst">
                    <span class="menu-text">管理员列表</span>
                </a>
            </li>
            <li class="active"> //这个li里面包含了active这个class,我想给上级li增加一个class="open",应该怎么写才对?
                <a href="/admin/authrule/lst">
                    <span class="menu-text">权限列表</span>
                </a>
            </li>
            <li >
                <a href="/admin/authgroup/lst">
                    <span class="menu-text">用户组</span>
                </a>
            </li>
         </ul>
    </li>
    <li>
        <a href="#" class="menu-dropdown">
            <i class="menu-icon fa fa-gear"></i>
            <span class="menu-text"> 系统设置 </span>
            <i class="menu-expand"></i>
        </a>
        <ul class="submenu">
            <li >
                <a href="/admin/conf/lst">
                    <span class="menu-text">配置列表</span>
                </a>
            </li>
            <li >
                <a href="/admin/conf/conf">
                    <span class="menu-text">配置项</span>
                </a>
            </li>
         </ul>
    </li>
</ul>

Ich weiß nicht, wie ich es ausdrücken soll, also habe ich die Frage in den obigen Code geschrieben. Bitte verzeihen Sie mir

过去多啦不再A梦过去多啦不再A梦2779 Tage vor719

Antworte allen(3)Ich werde antworten

  • 为情所困

    为情所困2017-06-26 10:56:05

    如果层级不深,可以使用 parents 来获取获取,如:

    var $menu = $('.sidebar-menu');
    var $itemActive = $menu.find('.active'); // 选中项
    var $itemActiveParent = $itemActive.parents('li:first'); // 父级
    $itemActiveParent.addClass('open');
    

    Antwort
    0
  • 某草草

    某草草2017-06-26 10:56:05

    想做什么操作。。
    给你一些代码

    $(".nav>li").each(function(index){
            $(this).find(".submenu>li").each(function(index1){
                if($(this).hasClass("active")){
                    console.log(index,index1);
                }
            })
        })

    Antwort
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-26 10:56:05

    如果你只是单纯的检查,可以

    var $li = targetLi;    // 你想判断的某个 li
    if ($li.find(">ul>li.active").length) {
        // li 的直接下级是 ul,所以它最近的一个下级 li 是 `>ul>li`
        // todo 这里是找到有 .active 的 li
    }

    如果你只是想找到某个选中的 li 的所有父级

    $("li.active").parents();

    如果是父级中的 li

    $("li.active").parents("li");

    如果 active 不止一个,可以先通过 filter 或者加一个条件找到你需要的那一个。

    Antwort
    0
  • StornierenAntwort