Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JQuery中将CSS类设置为href=“/”_Javascript_Jquery_Css_Jquery Selectors - Fatal编程技术网

Javascript 在JQuery中将CSS类设置为href=“/”

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

我试图在侧边栏中的链接处设置选定的CSS类。当我在家时,例如根url/设置此类时遇到问题。因为所有URL的结尾都是/

以下是一些相关代码:

$(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');