将 CSS 类设置为 href="/"在 JQuery 中

发布于 2024-10-01 07:22:30 字数 358 浏览 2 评论 0 原文

我正在尝试在侧边栏中的链接中设置“选定”CSS 类。当我在“家”时,例如 root url / 我在设置此类时遇到问题。因为所有 URL 都以 / 结尾。

这里有一些相关代码:

$(document).ready(function(){
    var path = location.pathname.substring();
    $('nav#sitenavigation a[href$="' + path + '"]').attr('class', 'selected');
});

如何将“selected”设置为仅包含以下内容的a标签:href =“/”而不是例如href =“/ events /”?

I'm trying to set the CSS class "selected" at my links in my sidebar. When I am at "home" e.g. root url / I'm having trouble setting this class. Since all URL's ends with /.

Here some relevant code:

$(document).ready(function(){
    var path = location.pathname.substring();
    $('nav#sitenavigation a[href$="' + path + '"]').attr('class', 'selected');
});

How can I set "selected" to ONLY the a-tag containing: href="/" and not for example href="/events/" ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

错々过的事 2024-10-08 07:22:31

使用=属性等于) 而不是 $= (属性结尾为< /a>),像这样:

$(document).ready(function(){
  var path = location.pathname.substring();
  $('nav#sitenavigation a[href="' + path + '"]').attr('class', 'selected');
});

Use only = (attribute equals) instead of $= (attribute ends-with), like this:

$(document).ready(function(){
  var path = location.pathname.substring();
  $('nav#sitenavigation a[href="' + path + '"]').attr('class', 'selected');
});
伤感在游骋 2024-10-08 07:22:31
$('nav#sitenavigation a[href=/]').attr('class', 'selected');

应该可以了 - 您只选择 href 为“/”的链接。唯一的区别是 = 与 $=。为了完全匹配您的代码...

$('nav#sitenavigation a[href="' + path + '"]').attr('class', 'selected'); 

jQuery 选择器页面解释了所有不同的比较运算符的工作原理:
http://api.jquery.com/category/selectors/

最后一点 - 此代码将删除链接上的任何其他类并将其替换为选定的。要保留任何现有的类,请使用 addClass() ,如下所示:

$('nav#sitenavigation a[href="' + path + '"]').addClass('selected'); 
$('nav#sitenavigation a[href=/]').attr('class', 'selected');

That should do it - you're picking only links with an href of "/". The only difference is the = vs $=. To match your code exactly...

$('nav#sitenavigation a[href="' + path + '"]').attr('class', 'selected'); 

The jQuery selectors page explains how all the different comparison operators work:
http://api.jquery.com/category/selectors/

Final note - this code will strip any other classes on the link and replace them with selected. To preserve any existing classes, use addClass() like so:

$('nav#sitenavigation a[href="' + path + '"]').addClass('selected'); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文