Javascript 在JQuery中将CSS类设置为href=“/”
我试图在侧边栏中的链接处设置选定的CSS类。当我在家时,例如根url/设置此类时遇到问题。因为所有URL的结尾都是/ 以下是一些相关代码:Javascript 在JQuery中将CSS类设置为href=“/”,javascript,jquery,css,jquery-selectors,Javascript,Jquery,Css,Jquery Selectors,我试图在侧边栏中的链接处设置选定的CSS类。当我在家时,例如根url/设置此类时遇到问题。因为所有URL的结尾都是/ 以下是一些相关代码: $(document).ready(function(){ var path = location.pathname.substring(); $('nav#sitenavigation a[href$="' + path + '"]').attr('class', 'selected'); }); 如何将selected设置为仅包含:hr
$(document).ready(function(){
var path = location.pathname.substring();
$('nav#sitenavigation a[href$="' + path + '"]').attr('class', 'selected');
});
如何将selected设置为仅包含:href=/的a标记,而不是例如href=/events/ 仅使用=而不是$=,如下所示:
$(document).ready(function(){
var path = location.pathname.substring();
$('nav#sitenavigation a[href="' + path + '"]').attr('class', 'selected');
});
这应该可以做到-您只选择href为/的链接。唯一的区别是=vs$=。要完全匹配您的代码
$('nav#sitenavigation a[href="' + path + '"]').attr('class', 'selected');
jQuery选择器页面解释了所有不同的比较运算符的工作原理:
最后注意-此代码将删除链接上的任何其他类,并将它们替换为选定的。要保留任何现有类,请使用addClass,如下所示:
$('nav#sitenavigation a[href="' + path + '"]').addClass('selected');
看起来你在检查它是否以/-如果你检查它是否以/-开头呢?或者如果href=/确切地说呢?该标记的href中有什么?主页上的网址是什么?如果有人键入稍有不同的url,如带有/不带尾随符/location.pathname中显示了什么?
$('nav#sitenavigation a[href="' + path + '"]').addClass('selected');