Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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
jquery-为当前元素';她只有孩子_Jquery_Hover - Fatal编程技术网

jquery-为当前元素';她只有孩子

jquery-为当前元素';她只有孩子,jquery,hover,Jquery,Hover,我有以下Javascript代码将菜单子菜单列(li标记)的高度设置为相同的高度: $(function() { var mainMenuElement = $("#mainMenu > li > a"), tallestColumnHeight = 0, mainMenuElementColumns = $("#mainMenu > li > ul.sub-menu > li"); mainMenuElement

我有以下Javascript代码将菜单子菜单列(li标记)的高度设置为相同的高度:

$(function() 
{
    var mainMenuElement = $("#mainMenu > li > a"),
        tallestColumnHeight = 0,
        mainMenuElementColumns = $("#mainMenu > li > ul.sub-menu > li");

    mainMenuElement.hover(function () 
    {
            mainMenuElementColumns.each(function()
            {
                if ($(this).height() > tallestColumnHeight) 
                { 
                    tallestColumnHeight = $(this).height(); 
                }
            });     
            mainMenuElementColumns.height(tallestColumnHeight); 
    }); 
});
这是可行的,但是它也会将所有(同级)顶部菜单项子菜单列的高度设置为首次找到的tallestColumnHeight

如何只针对当前悬停元素的子元素


谢谢

使用上下文查找和定位每个主列表中的子菜单,而不是所有子菜单:

$(function() {
    $("#mainMenu > li > a").hover(function () {
        var tallestColumnHeight = 0;
        $("ul.sub-menu > li", this).each(function () {
            if ($(this).height() > tallestColumnHeight) {
                tallestColumnHeight = $(this).height();
            }
        }).height(tallestColumnHeight);
    });
});