获取页面上与url字符串匹配的所有链接

时间:2011-01-12 21:29:35

标签: javascript mootools string-matching

我目前正在使用此代码(以及Mootools)在#subnav div中构建包含特定网址字符串的所有锚点的数组:

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

问题是,我是否正在寻找匹配网址为work.aspx?subsection=24&project=1的主播的work.aspx?subsection=24&project=15

如何防止这种情况发生?

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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