仅当父项具有相同的类时,才会显示样式菜单项类

时间:2015-03-24 05:50:44

标签: jquery html css sidebar

我的网站上有一个侧栏导航菜单,我用一个名为tendina的插件创建它,假设我的菜单有以下结构

-Menu Main 1
--Main-1 Sub-1
-Menu Main 2
-- Main-2 Sub-1
---Main-2 Sub-1 Sub-1
---Main-2 Sub-1 Sub-2

当我选择任何子菜单时,插件会将其所有父项标记为使用css类选择。所以我不能仅仅选择所选项目,即假设我点击 Main-2 Sub-2 Sub-2链接然后插件将为其父项Main-2 Sub添加类1,菜单主菜单2.然后,我可以然后申请所选菜单,无论如何都不使用任何脚本进行样式。请帮帮我。

修改

HTML代码

 <li class="desig-menu">
          <asp:HyperLink ID="HyperLink16" runat="server" NavigateUrl="#"  CssClass="desig-nav">Master<span class="caret left-sm-caret"></span></asp:HyperLink>
          <ul  class="dropdown-level-1">
            <li><asp:HyperLink ID="HyperLink17" runat="server" NavigateUrl="#">Accounts<span class="caret left-sm-caret"></span>    </asp:HyperLink>
                <ul  class="dropdown-level-2">
                    <li>
                      <asp:HyperLink ID="HyperLink18" CssClass="account-grp-page-link"  runat="server" NavigateUrl="~/master/accounts/account_group.aspx">Account Group</asp:HyperLink>
                    </li>
                    <li>
                      <asp:HyperLink ID="HyperLink37" CssClass="account-ledger-page-link"  runat="server" NavigateUrl="~/master/accounts/account_ledger.aspx">Account Ledger</asp:HyperLink>
                    </li>
                    <li>
                      <asp:HyperLink ID="HyperLink38" CssClass="fin-year-page-link"  runat="server" NavigateUrl="~/master/accounts/financial_year.aspx">financial Year </asp:HyperLink>
                    </li>
                 </ul>
                  <li><asp:HyperLink ID="HyperLink39" runat="server" NavigateUrl="#">Services<span class="caret left-sm-caret"></span>    </asp:HyperLink>
                <ul  class="dropdown-level-2">
                    <li>
                      <asp:HyperLink ID="HyperLink40" CssClass="category-page-link"  runat="server" NavigateUrl="~/master/service/service_category.aspx">Service Category</asp:HyperLink>
                    </li>
                    <li>
                      <asp:HyperLink ID="HyperLink41" CssClass="service-page-link"  runat="server" NavigateUrl="~/master/service/service.aspx">Service</asp:HyperLink>
                    </li>
                 </ul>
            </li>
              <li><asp:HyperLink ID="HyperLink47" runat="server" CssClass="supplier-page-link" NavigateUrl="~/master/supplier_form.aspx">Supplier</asp:HyperLink>
            </li>
          </ul>

        </li>

1 个答案:

答案 0 :(得分:0)

尝试这个我建议,当点击li标签内的锚标签时执行以下命令:

var root=false;
var curr = this;
while(root==false) {
  if($(curr).parent().parent().parent().hasClass("desig-menu")==false) {
    $(curr).parent().parent().parent().addClass("classtoadd");
    curr=$(curr).parent().parent();
  }
  else {
    root=true;
  }
}