jQuery:查找特定的 HREF 链接

发布于 2024-09-13 16:33:23 字数 314 浏览 2 评论 0原文

基本上,这个想法是找出文档的当前位置并更改要更改的链接(导航手风琴)的类。到目前为止,如果 pageURL (变量)是实际链接,但我不想创建可能链接的完整列表,因此 $(location).att('href'); 可以在下面使用它;

$(document).ready(function() {
    var pageURL = $(location).attr('href');
    $('a[href=pageURL]').attr('class', 'active');
});

任何人的任何帮助将不胜感激

提前致谢

Basically the idea is to find out what the current location is of the document and change the class of the link (navigation accordion) to be changed. So far I have this below it works if the pageURL (variable) is the actual link but I do not want to create a whole list of possible links hence the $(location).att('href');

$(document).ready(function() {
    var pageURL = $(location).attr('href');
    $('a[href=pageURL]').attr('class', 'active');
});

Any help from any one would be greatly appreciated

Thanks in advance

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

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

发布评论

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

评论(3

回首观望 2024-09-20 16:33:23

您需要将变量连接到选择器字符串中。

$('a[href=' + pageURL + ']').attr('class', 'active'); });

按照您的方式,“pageURL”只是选择器的一部分,因此 jQuery 正在寻找带有“pageURL”作为 href 属性的 元素。

另外,我不知道 location 变量代表什么,但如果您正在查找当前窗口位置,则需要采用不同的方法。

You need to concatenate the variable into the selector string.

$('a[href=' + pageURL + ']').attr('class', 'active'); });

The way you had it, "pageURL" was simply part of the selector, so jQuery was looking for <a> elements with "pageURL" for the href attribute.

Also, I don't know what the location variable represents, but if you're looking for the current window location, you need a different approach.

转角预定愛 2024-09-20 16:33:23

通过编写 'a[href=pageURL]',您将搜索 a 元素,其 href 属性等于文字 pageURL< /code>,不是变量的内容。
相反,您需要将变量的内容连接到选择器字符串中。

例如:

$('a[href*="' + location.pathname + '"]').attr('class', 'active');

使用 jQuery 访问 location.href 是没有意义的。
即使链接不包含域名,编写 location.pathname 也会使其正常工作。
使用 [href*=...] 选择器匹配具有 href 的元素包含字符串的属性。

By writing 'a[href=pageURL]', you are searching for a elements with href attributes equal to the literal pageURL, not the contents of the variable.
Instead, you need to concatenate the contents of the variable into the selector string.

For example:

$('a[href*="' + location.pathname + '"]').attr('class', 'active');

There's no point in using jQuery to access location.href.
Writing location.pathname will make it work even if the link doesn't include a domain name.
Using the [href*=...] selector matches elements with href attributes that contain the string.

茶色山野 2024-09-20 16:33:23

正确的语法是:

$('a[href=' + pageURL + ']').attr('class', 'active'); });

The correct syntax is:

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