【问题标题】:Add class with jQuery to specific menu-items when hovering悬停时将带有 jQ​​uery 的类添加到特定的菜单项
【发布时间】:2014-12-15 18:25:45
【问题描述】:

当悬停带有图像的菜单时,我想将一个带有 jQ​​uery 的类添加到特定的菜单项。菜单项具有在其他地方硬编码的项目 ID。下面的代码是有效的,但是我必须对每个特定的菜单项进行编码,这不是我的意图。

jQuery(document).ready(function(){
    jQuery('.menu > li.item-447 > a').hover(function() {
        jQuery('.menu > li.item-447 > a > span').toggleClass('nav-label');
    });
    jQuery('.menu > li.item-449 > a').hover(function() {
        jQuery('.menu > li.item-449 > a > span').toggleClass('nav-label');
    });
    jQuery('.menu > li.item-... > a').hover(function() {
        jQuery('.menu > li.item-... > a > span').toggleClass('nav-label');
    });
});

我已经尝试过这段代码,但是在悬停所有菜单项时会获得额外的类“导航标签”。

jQuery(document).ready(function(){
    jQuery('.menu > li.item > a').hover(function() {
        jQuery('a', this); 
        jQuery( '.menu > li > a > span' ).toggleClass( 'nav-label' );
    });
});

有什么建议吗?

【问题讨论】:

  • 试试 JQuery(this).children("span").toogle....

标签: javascript jquery toggleclass menu-items


【解决方案1】:

您可以通过this 关键字获取特定的菜单项,并使用jQuery(this) 将其转换为jQuery 对象。

试试这个:

jQuery(document).ready(function(){
    jQuery('.menu > li > a').hover(function() {
        jQuery(this).children('span').toggleClass('nav-label');
    });
});

【讨论】:

  • 删除“.item”时代码正常,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 2013-10-22
  • 2011-06-26
  • 2015-11-11
  • 2012-07-10
  • 1970-01-01
相关资源
最近更新 更多