2013-06-05 102 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

我已經這樣做 –