jQuery查找与当前页面匹配的链接

jQuery查找与当前页面匹配的链接,jquery,Jquery,我有以下代码试图找到与当前url匹配的链接:$item=$('ul#ui ajax tabs li a').attr('href',$(location).attr('pathname')但它会将所有链接更改为当前url:P 谁能帮我修一下吗。干杯这是因为您的CSS选择器ul#ui ajax选项卡与多个内容匹配。尝试更具体地使用选择器,例如ul#ui ajax选项卡li:first child a使用此查询。您的代码更改所选链接的所有href属性,而不是返回具有匹配href属性的链接选择: $(

我有以下代码试图找到与当前url匹配的链接:
$item=$('ul#ui ajax tabs li a').attr('href',$(location).attr('pathname')但它会将所有链接更改为当前url:P


谁能帮我修一下吗。干杯

这是因为您的CSS选择器
ul#ui ajax选项卡与多个内容匹配。尝试更具体地使用选择器,例如
ul#ui ajax选项卡li:first child a

使用此查询。您的代码更改所选链接的所有
href
属性,而不是返回具有匹配
href
属性的链接选择:

$("a[href*='" + location.pathname + "']")
[href*=…]
选择器返回其
href
属性包含当前路径名的元素列表

另一种方法是,返回其
href
包含当前路径名的所有元素<使用code>prop()
而不是
attr()
,因此也可以正确解释相对URL

$item = $('ul#ui-ajax-tabs li a').filter(function(){
    return $(this).prop('href').indexOf(location.pathname) != -1;
});

URL格式可能在生产中更改的位置,如ASP.NET::如果忽略URL的结束斜杠,效果可能会更好

$('.mdl-navigation').find("a").filter(function () {
  return this.href.replace(/\/+$/, '') === window.location.href.replace(/\/+$/, '');
}).addClass('current-active-page-url');