0

我有这个弹出菜单,其中“第二级菜单 3 ”是一个弹出菜单。菜单由 CMS 系统生成,因此直接向特定菜单项添加新类是有限制的。

默认情况下,第一级菜单有一个用于锚标记的“顶级”类,而第二级和第三级没有。我想要实现的是针对“顶级”找到“二级菜单3”添加一个“当前”类,这样当弹出菜单展开时,光标移动到第三级,“二级菜单”菜单 3" 具有与悬停相同的白色背景颜色。

代码是 jQuery('#nav ul').find('> a.level-top').parent('li').addClass('current')}); 但它不起作用,我根本无法找到我做错了什么。

 $(document).ready(function(){
    $("#nav li li").hover(function(){
        $(this).find('ul:first').css({visibility: "visible",display: "none"}).show(400);
        },function(){
        $(this).find('ul:first').css({visibility: "hidden"});
        });
    });
  $(document).ready(function(){
      jQuery('#nav ul').find('> a.level-top').parent('li').addClass('current')});
4

1 回答 1

1

在 find 函数中去掉你的父选择器'>'。

我会更接近它

$('>li>ul>li').parent('ul>li').hover(function(){
    $(this).css(backgroundColor: 'red'

但在你这样做之前,你的列表代码是一团糟。不要忘记关闭您的列表项,如果您使用的是自动生成此代码的 CMS,请尝试其他方法 :)

于 2011-03-30T04:57:17.160 回答