2013-06-05 74 views
1

我想给被点击的当前菜单项赋予样式。为此我添加了一个使用jQuery的类。我为此使用了以下代码。jQuery中的addClass和removeClass

jQuery(document).ready(function(){ 
    jQuery('#submenu li a').click(function() { 
     jQuery(this).addClass('current_menu'); 
    }); 
}); 

但是当我点击另一个菜单项,类current_menu不会删除和风格保持原样。我想在单击另一个菜单项时删除样式。请参阅http://itnews4india.com/。我该如何解决这个问题?

+0

可能重复(http://stackoverflow.com/questions/13198093/jquery添加#submenu li a.current_menu {color:#fff;} -removeclass-and-addclass-a-function) – undefined

+0

http://stackoverflow.com/questions/13295982/jquery-addclass-removeclass-on-click – undefined

回答

2

在你的代码只需添加类,但从来没有删除旧版本。

jQuery(document).ready(function(){ 
    jQuery('#submenu li a').click(function() { 

     // remove the old menu items class 
     jQuery('.current_menu').removeClass('current_menu'); 

     // add the new one 
     jQuery(this).addClass('current_menu'); 
    }); 
}); 

根据您的代码的其余部分,在拆除的选择可能需要进行调整,以类似#submenu li a.current_menu'

+0

非常感谢。我正在尝试,只有 –

1

试试这个

jQuery(document).ready(function(){ 
    jQuery('#submenu li a').click(function() { 
    jQuery("#submenu li a").removeClass('current_menu'); 
    jQuery(this).addClass('current_menu'); 
}); 
}); 
1

这样做:

jQuery(document).ready(function(){ 
    jQuery('#submenu li a').click(function() { 
     jQuery('a.current_menu').removeClass('current_menu'); 
     jQuery(this).addClass('current_menu'); 
    }); 
}); 

代码第三行将会从链接中删除current_menu类,如果他们已经。

1

试试这个: -

jQuery(document).ready(function(){ 
    jQuery('#submenu li a').click(function() { 
     // Remove class from all anchors inside list 
     jQuery('#submenu li a').removeClass('current_menu'); 

     // Add class on selected/clicked anchor 
     jQuery(this).addClass('current_menu'); 
    }); 
}); 
1

请试试这个:

$(document).ready(function(){ 
     $('#submenu li a').click(function() { 
      $('#submenu li a').removeClass('current_menu'); 
      $(this).addClass('current_menu'); 
     }); 
    }); 
1

事情是你必须添加一个之前删除class

jQuery(document).ready(function(){ 
    jQuery('#submenu li a').click(function() { 
     jQuery('a.current_menu').removeClass('current_menu'); 
     jQuery(this).addClass('current_menu'); 
    }); 
}); 
0
jQuery(document).ready(function() { 
    jQuery('#submenu li a').click(function() { 
     jQuery('#submenu li').find('a').each(function(){ 
      jQuery(this).removeClass('current_menu'); 
     }) 
     jQuery(this).addClass('current_menu'); 
    }); 
}); 
1

还有一个toggleClass功能:jQuery Api toggleClass

$('#submenu li a').click(function() { 
    $(this).toggleClass('current_menu just_menu'); 
}; 

注意,该元件需要最初这些类的一个!在.current_menu

1

风格color是盖由#submenu li a

在你的CSS

的[jQuery的removeClass和addClass函数中]
+0

我已经这样做 –