Umbraco7导航:将类添加到父UL

时间:2016-07-09 14:24:29

标签: razor umbraco7

使用Umbraco7我制作了一个基于Umbracos Sitemap的PartialView。 我设法添加了一个&#34;当前&#34;类到当前<li>但我想以父UL为目标。

快速概述:

<ul>
   <li>
     <ul> <-This guy needs a Current/Parent Class
       <li class="current">
          Here you are
       </li>
     </ul>
</li>

部分视图:

    @inherits Umbraco.Web.Macros.PartialViewMacroPage

@{ var selection = CurrentPage.Site(); }

    @Traverse(selection)


@helper Traverse(dynamic node)
{
var maxLevelForSitemap = 3;

var selection = node.Children.Where("Visible").Where("Level <= " + maxLevelForSitemap);

if (selection.Any())
{
    <ul>
        @foreach (var item in selection)
        {
           string cssClass = @item.Id != CurrentPage.Id ? "" : "current";

            <li class="@cssClass">
                <a href="@item.Url">@item.Name</a>

                @Traverse(item)
            </li>
        }
    </ul>
}
}

1 个答案:

答案 0 :(得分:0)

你可以使用一个小的jquery脚本,每次加载页面或发生回发时都会执行:

$(document).ready(function() {
    $('li.current').closest('ul').addClass('active');
});

这将获取当前的li并搜索最接近的ul(parent)并添加类active