0

我目前正在使用此代码(与 Mootools 一起)来构建#subnavdiv 中包含特定 url 字符串的所有锚点的数组:

$('subnav').getElements('a[href*=/'+href+']')

问题是,如果我正在寻找work.aspx?subsection=24&project=1将与 URL 匹配的锚点work.aspx?subsection=24&project=15

我怎样才能防止这种情况发生?

4

3 回答 3

0

我能想到的唯一解决方案是使用正则表达式;像这样的东西:

$('subnav').getElements('a').filter(function (element, index) {
    return /work\.aspx\?subsection=24&project=1(?:$|&)/.test(element.href);
});

该正则表达式将匹配 project=1 ,然后匹配 a&或字符串的结尾。它使用 MooTool(或本机浏览器)Array.filter来删除所有不匹配项。这不是最优雅的解决方案,特别是如果您动态使用它,那么您必须编写一些代码来创建新的正则表达式。

于 2011-01-12T22:06:09.637 回答
0

打算回答我自己的问题。*就像将 更改为一样简单$

$('subnav').getElements('a[href$=/'+href+']')

于 2011-01-13T17:34:44.157 回答
0

听起来应该通过 301 或 302 重定向更优雅地处理......

于 2011-01-13T20:27:03.763 回答