在悬停时,使用jQuery将类添加到特定的菜单项

时间:2014-12-14 13:18:37

标签: javascript jquery toggleclass menu-items

当悬停带有图像的菜单时,我想在特定的菜单项中添加一个带有jQuery的类。菜单项具有item-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');
    });
});

我已尝试过此代码,但在悬停所有菜单项时会获得额外的“nav-label”类。

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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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

试试这个:

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