Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery获取子菜单的高度_Javascript_Jquery_Html_Css_Asp.net Mvc - Fatal编程技术网

Javascript jquery获取子菜单的高度

Javascript jquery获取子菜单的高度,javascript,jquery,html,css,asp.net-mvc,Javascript,Jquery,Html,Css,Asp.net Mvc,我有下面的标签。当点击锚定链接时,它应该显示一个div,下面是ul列表项。在锚定标签的点击功能上,我需要获得div的完整高度(实际上是带有li项的ul的高度),子菜单 <ul> <li> <a></a> <div> <ul> <li></li> <li></li> <li></li> </ul> </div> </li>

我有下面的
标签。当点击锚定链接时,它应该显示一个div,下面是ul列表项。在锚定标签的点击功能上,我需要获得div的完整高度(实际上是带有li项的ul的高度),子菜单

<ul>
<li>
<a></a>
<div>
<ul>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</li>
</ul>

您的一些类选择器没有正确指定,另外还有一个印刷错误(都在第2行)

更新-似乎
同级()
方法的行为可能不符合您的预期…-我的
.level-2
选择器仍然错误-因为在
普通
之前需要另一个
。(参见下面的示例)

通过使用
closest()
方法,您可以找到最近的父项(例如,
  • ),然后使用
    find()
    选择嵌套在该父项中的所有.level-2.plain项

    请记住,处理程序函数中的
    $(this)
    是指被处理的元素(在本例中是指被单击的
    .menu链接
    项)

    $(".menu-link").click(function () {
       var $subnavdev = $(this).closest('li').find('.level-2.plain');
       // ...
    });
    

    有一个输入错误:
    sublings()
    -这是在您的代码中,还是在复制/粘贴工件中?此外,您可能需要引用类名?使用
    前缀:例如
    .sides('.sub-menu')…
    我尝试了您的代码。它根本没有进入for-each循环。
    $(".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);
    });
    
    $(".menu-link").click(function () {
       var $subnavdev = $(this).closest('li').find('.level-2.plain');
       // ...
    });