layui javascript 导航菜单设置为href跳转后保持选中状态

问题:

通过layui的导航栏可以完成如下的布局:
在这里插入图片描述

<ul class="layui-nav layui-nav-tree" lay-filter="test">
    <li class="layui-nav-item">
        <a class="" href="javascript:;">A</a>
        <dl class="layui-nav-child">
            <dd><a href="../">1</a></dd>
            <dd><a href="../clean_table_manage">2</a></dd>
            <dd><a href="../index_table_manage">3</a></dd>
            <dd><a href="../black_manage">4</a></dd>
        </dl>
    </li>
    <li class="layui-nav-item">
        <a href="javascript:;">B</a>
        <dl class="layui-nav-child">
            <dd><a href="../etl">1</a></dd>
        </dl>
        <dl class="layui-nav-child">
            <dd><a href="../etl_compute_manage">2</a></dd>
        </dl>
    </li>
    <li class="layui-nav-item">
        <a href="javascript:;">C</a>
        <dl class="layui-nav-child">
            <dd><a href="../index_manage">1</a></dd>
        </dl>
        <dl class="layui-nav-child">
            <dd><a href="../index_compute_list_manage">2</a></dd>
        </dl>
        <dl class="layui-nav-child">
            <dd><a href="../index_compute_manage">3</a></dd>
        </dl>
    </li>
    <li class="layui-nav-item">
        <a href="javascript:;">D</a>
        <dl class="layui-nav-child">
            <dd><a href="../model_manage">1</a></dd>
        </dl>
    </li>
    <li class="layui-nav-item">
        <a href="javascript:;">E</a>
        <dl class="layui-nav-child">
            <dd><a href="../deploy">1</a></dd>
            <dd><a href="../service">2</a></dd>
        </dl>
    </li>
</ul>

但是存在一个问题,子菜单是通过<a>标签的href跳转的,所以每次点击子菜单的选项,由于会跳转到新页面,所以所有的菜单栏都会恢复关闭状态:
在这里插入图片描述
这样很不符合用户习惯。

解决

只需加入一段javascript:

    window.onload=function(){
        url = window.location.pathname;
        console.log(url);
        $("a[href='.." + url + "']").parent().addClass('layui-this');
        $("a[href='.." + url + "']").parent().parent().parent().addClass('layui-nav-itemed');
    }

通过获取当前页面的url,获取layui对应子菜单的标签,自动添加layui-thislayui-nav-itemed的类就可以保存当前点击菜单的选中状态了。