0

我设置了一个活动类,如果 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');
    }
});

这里是示例。

那么有什么地方不对劲吗?

4

2 回答 2

1

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

您的标识符是aand b,并且无处出现MenuMenu1st出现。

编辑:

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

上面总结了几个问题。我不确定人们需要告诉他们这些东西,只要注意——或者如果你盯着这样的东西太久了,就休息 10 分钟。

于 2013-03-22T16:09:04.040 回答
0

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

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

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

$(#Menu1st a')
于 2013-03-22T16:14:42.847 回答