我有<ul>
標籤如下。當點擊錨鏈接時,它應該顯示一個帶有ul列表項的div。在錨標記的點擊功能,我需要得到div的完整高度(其實李項UL的高度),子菜單jquery獲取子菜單的高度
<ul>
<li>
<a></a>
<div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</li>
</ul>
的HTML代碼如下:
<ul class="menu level-1 plain" id="header-menu">
@{
var i = 1; //Used for submenu ID
}
@foreach (var menuItem in Model.Header.TopLevelNavigation)
{
if (i < 6)
{
<li @Html.Raw(i > Model.MenuMidPoint ? "class=\"sub-menu-nudge-left\"" : "")>
@if (menuItem.ContentLink.HasChildPages())
{
<a href="#[email protected]" class="menu-link js-ui-header-all-menu-drill-down" aria-haspopup="true">
<span class="icon icon-chevron-left @Model.GetBoxIcon(i)"></span>
<span>@menuItem.Name</span>
</a>
<div id="[email protected]" class="sub-menu" aria-label="submenu" aria-hidden="true">
@Html.DisplayEnumerableIContent("<ul class=\"level-2 plain\">{0}</ul>", "<li>{0}</li>", "menu-link", menuItem.ContentLink.GetChildPages(true, true))
</div>
}
</li>
}
i++;
}
</ul>
我試過jQuery的功能如下: 我試過如下,但我無法得到子菜單的高度。它永遠不會進入foreach循環。任何人都可以請幫助
$(".menu-link").click(function() {
var $subnavdev = $(this).parent().sublings('sub-menu').siblings('level-2 plain')
var totalHeight = 0;
$subnavdev.find('li').each(function() {
totalHeight += $(this).outerHeight(true);
});
alert(totalHeight);
});
有一個錯字:'sublings()' - 這是在你的代碼,或者複製/粘貼人工製品? – ne1410s
另外,您可能想要引用類名稱?使用'.'前綴:例如'.siblings('。sub-menu')...' – ne1410s