添加课程'有效'到菜单

时间:2015-11-04 02:07:25

标签: javascript jquery html

我有一个侧边栏,我正在尝试使用Javascript来更改外观以及点击目标页面。但是我尝试了许多没有运气的建议,我不明白为什么。

JsFiddle

我尝试过使用这个JS代码:

$(document).ready(function () {
     var url = window.location;
     $('.navigation ul li a[href="'+url+'"]').parent().addClass('active');
});

但是,一旦我添加了href="~/~"属性,我就会得到一个"Unknown Command: [Link in href]" - 并且"active"类没有添加到该元素中。

感谢您的时间

3 个答案:

答案 0 :(得分:1)

您尝试使用window.location获取当前网页的网址。但是,window.location实际上是一个包含多个属性的对象,并且不是包含当前页面URL的字符串。您希望使用其中一个window.location属性,最有可能是window.location.pathname。但是,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Location以获取完整的选项列表。

答案 1 :(得分:0)

对于您的代码,您需要将网址设置为.*

答案 2 :(得分:0)

试试这个,

var url = window.location;
// Will only work if string in href matches with location
$('.navigation ul li a[href="'+ url +'"]').parent().addClass('active');

// Will also work for relative and absolute hrefs
$('.navigation ul li a').filter(function() {
    return this.href == url;
}).parent().addClass('active');