使用JQuery添加CSS类

下面我已经包含了我用来尝试将css类添加到侧栏中等于活动URL的链接的jquery代码,但它不起作用,并且在某些时候它确实如此。 提前感谢您提供的任何帮助。

链接: http : //www.liquidcomma.com/portfolio/project/TSF_Robot_Ad/1/

 $(document).ready(function(){ $("ul.right_submenu > li > a").each(function() { if ($(this).attr("href") == location.href) { $(this).addClass("CurrentProject"); }); };  

好吧,除了代码丢失括号和parens之外,它可以做得更简单:

 $(function(){ $("a[href^='" + location.href + "']").addClass("CurrentProject"); }); 

你的脚本中有未闭合的大括号:

 $(document).ready(function(){ $("ul.right_submenu > li > a").each(function() { var a = $(this); if (a.attr('href') == location.href) { a.addClass("CurrentProject"); } }); }); 

你可以像这样重写你的脚本:

 $('ul.right_submenu > li > a[href=' + location.href + ']') .addClass('CurrentProject'); 

点击链接后,我的location.href转到http://www.liquidcomma.com/portfolio/project/TSF_Robot_Ad/1/但页面中的项目链接指向http://www.liquidcomma.com/portfolio/project/trade_show_fabrications/1 …将使attr('href') != location.href

在其他链接中, location.href将以斜杠结尾,而链接的href不会。

除了href属性之外,您应该使用其他东西来匹配您的项目,如果您希望将来更改它(并且它可能会)。