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