我目前有以下功能,以便将活动链接类添加到导航路径
.Compile()
当我转到paginatied网址时会出现问题。
例如,当它为$(document).ready(function () {
var pathname = window.location.pathname;
var navigation = $('#navigation');
navigation.find('a[href="' + pathname + '"]').addClass("active-link");
});
时,它会起作用,但当它为domain.com/
时则不起作用。我知道find找到了确切的,如果它至少包含路径名,有没有办法做到这一点?
答案 0 :(得分:0)
编辑:重新阅读您的帖子,我想我可能会误解...如果您只想匹配href
属性以某条路径开头的任何链接,请查看attribute prefix selector。如果您的前缀路径可以包含斜杠,那么我在下面的原始答案可能仍然有用,所以我会留下它。
问题是jQuery选择器中存在/
。引用documentation:
使用任何元字符(例如 !"#$%&'()* +,。/:;< =>?@ [] ^`{|}〜)作为名称的字面部分,它必须 用两个反斜杠转义:\\。
因此,如果你需要在jQuery选择器中使用url路径,你可以做一个简单的path.replace(/\//g, "\\\\/")
或编写一个更智能的函数来处理一些其他特殊字符。