JQuery没有在click事件中删除类,所以我添加了一个事件委托,但现在代码无效。
我正在尝试向活动菜单链接添加一个类,并从非活动菜单链接中删除一个类。以下是该网站的链接:http://wildcanyongamesstats.com/?q=corporate/wahoo-fitness
我不确定如何从非活动菜单链接中删除该类。有人可以帮忙吗?
不删除名为“underline_active”的类的原文:
$(".c_men_1").click(function(event){
event.preventDefault();
$(standings).show();
$(triathlon).hide();
$(geocache).hide();
$(challenges).hide();
$(heat).hide();
$(creek2peak).hide();
localStorage.setItem('showStandings', 'true');
localStorage.removeItem('showTriathlon');
localStorage.removeItem('showGeocache');
localStorage.removeItem('showChallenges');
localStorage.removeItem('showHeat');
localStorage.removeItem('showCreek2peak');
$(".c_men_2, .c_men_3, .c_men_4, .c_men_5, .c_men_6").removeClass("underline-active");
$(".c_men_1").addClass("underline_active");
});
使用委派事件处理程序更新的代码无效。链接不再可点击或互动。这是代码:
$( ".c_men_1" ).on( "click", function( event ) {
event.preventDefault();
$(standings).show();
$(triathlon).hide();
$(geocache).hide();
$(challenges).hide();
$(heat).hide();
$(creek2peak).hide();
localStorage.setItem('showStandings', 'true');
localStorage.removeItem('showTriathlon');
localStorage.removeItem('showGeocache');
localStorage.removeItem('showChallenges');
localStorage.removeItem('showHeat');
localStorage.removeItem('showCreek2peak');
$(".c_men_2, .c_men_3, .c_men_4, .c_men_5, .c_men_6").removeClass("underline-active");
$(".c_men_1").addClass("underline_active");
});
以下是JavaScript文件的链接:http://wildcanyongamesstats.com/sites/all/themes/wcg1/js/script.js?o7ecdx
答案 0 :(得分:3)
动态创建“.c_men_1”吗?如果是这样,这将确保处理程序可重复使用:
default=x,
“body”可以是.c_men_1的任何父级。
答案 1 :(得分:1)
看起来要添加的类是“underline_active”,但要删除的类是“下划线激活”(请注意使用连字符与下划线。)在第一个示例中,尝试更改removeClass()行到:
$(".c_men_2, .c_men_3, .c_men_4, .c_men_5, .c_men_6").removeClass("underline_active");