私は以下のように<ul>
タグを持っています。アンカーリンクをクリックすると、下のulリスト項目を含むdivが表示されます。アンカータグのクリック機能では、私はDIV(LI項目と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( 'サブメニュー')... ' – ne1410s