活跃的课程问题

时间:2013-03-22 16:06:27

标签: javascript

我为当前链接设置了一个活动类,如果href类似于“gallery.htm”或正确的网页,它就可以正常工作。但是在我更改布局后,我更喜欢为每个链接目标设置一个ID,这样用户只能在同一页面中定向到目标,而不是在页面之间切换。

我认为问题太简单了,我在谷歌上找不到任何相关内容。不管怎样,请不要介意;我还不擅长javascript。

现在问题是无法使用此脚本设置活动类。

var url = window.location.pathname,
    urlRegExp = new RegExp(url.replace(/\/$/, '') + "$");
$('a').each(function () {
    if (urlRegExp.test(this.href.replace(/\/$/, ''))) {
        $(this).addClass('active1st');
    }
});

Here就是样本。

某处出了什么问题?

2 个答案:

答案 0 :(得分:1)

没有与路径'#Menu div span #Menu1st a'匹配的元素或元素集。

您的标识符为abMenuMenu1st无处可见。

编辑:

现在有了您的更新,您的标识符abdiv元素,而不是a(链接)元素;您还没有在选择器中指定a是标识符,而您只是尝试将其应用于所有a 元素。如果你在选择器中放置一个哈希值,使选择器为#a,那么它将为 标识符执行 元素,但是正如我所说,这不是一个链接而且没有href,因此this.href.replace将会中断;并且,即使它一个链接而逻辑执行,那么由于你所应用的类的拼写错误,仍然会被打破(例如,它在样式表中不存在!)。

上面总结了许多问题。我不确定人们需要告诉他们这些东西,只需要注意 - 或者如果你长时间盯着这样的东西,请休息10分钟。

答案 1 :(得分:0)

未经测试,但我也认为这是选择器问题。

如果我错了,请纠正我,但是几个id选择器总会导致问题。

在不知道你的完整HTML的情况下,我想这会起作用:

$(#Menu1st a')